- 締切済み
2つのExcelファイルを元に、Accessでデータを抽出したい。
今手元に、AとBのExcelファイルが2つあります。 Aには、全学年の生徒氏名、学生番号、性別が載っています。 Bには、運動部の生徒氏名、学生番号が載っています。 Aの全学年生徒から男子のみをピックアップし、さらにBの運動部の生徒を引いたものを抽出しなければなりません。(要は、文化部と帰宅部の男子生徒を知りたい。) Excelだけで作業するには数が膨大すぎるのでAccessを使いたいのですが、今までAccessを一度も使ったことがなく、参考書やネットで調べながらやっているのですが、まったくわかりません。 (クエリという機能を使うのでしょうか?) 納期も明日までで非常に困っています。 どうか、どなたかお力を貸してください(T_T)
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
>Excelだけで作業するには数が膨大すぎるので 2003までで65千、2007なら100万もの人数が扱える。生徒といっているのは、仮の例えか。量は質(対処やり方)を規定するということも多いので概数を正確に書くこと。 VLOOKUP関数で一方のブックをテーブルと看做して検索(性別を取ってくる)できるのを知ってますか。やってみましたか。両方開いておかないとダメですが。 >納期も明日までで非・・ アクセスが、抽出にしろ一晩で使えるというのは甘い。 何年たっても出来ない人は身に着かないクセ(適不適)のあるソフトです。 >文化部と帰宅部の男子生徒を知りたい 耳慣れない言葉だが、Bにない生徒が帰宅部? ーー 丸投げで有る上、A,Bファイルのデータ項目の有様などの書いてなくて、HelpMe!しか伝わらない。好意有る回答者に丸まる回答を期待するなら、質問を関数式でも組めるように具体的に書くこと。 ーーー 2ファイルでVLOOKUP関数を使うやり方の説明を考えてみる。
- say2005
- ベストアンサー率36% (18/50)
#2です。 その手順で大丈夫です。 わかりやすく1つずつ説明します。 まず男性だけをピックアップするということなので女性の方のデータを消します。 このときデータそのもの(acceseのデータ)をいじくるのでAのテーブルを他で使うときには複製しといてください。 方法は[テーブル]Aの上で右クリック[名前をつけて保存]です。 ここでは仮に複製データを作り名前をコピーAでいきます。 [クエリ]→[ウィザードを使用してクエリを作成する]→テーブルコピーAを選択し[>>]→[次へ]→[次へ]→[クエリのデザインを編集する]を選択→[完了] [クエリ]→[削除] 性別の抽出条件に女性と入力 ※女性の所はテーブルの書き方によって変わります。男子女子で書かれている場合は女子にしてください。分からないときは"*女*"で大丈夫だとおもいます。 [クエリ]→[実行] これで男子のみのデータになりました。 次に運動部に所属している生徒を削除します。 クエリ→新規作成→デザインビュー→閉じる 表示→SQLビュー DELETE * FROM コピーA WHERE 生徒番号 = (select 生徒番号 from B); と入力 実行 これでできるはず・・・遅くなってすみません>< accessの使い方すっかり忘れてる><
- mitarashi
- ベストアンサー率59% (574/965)
#3です。インポートまでされているなら、教えちゃいます。当方、Access2000なので、表現等違いがあるかもしれませんが... データベースウィンドウで、 クエリ/新規作成/不一致クエリウィザード 抽出元テーブルをAに、比較テーブルをBに、共通するデータを含むフィールドを学生番号に、結果として表示させたいフィールドを選択し、「クエリのデザインを編集する」を選択して、完了。クエリのデザイン画面で、性別の抽出条件に男を設定(文字列で男か、女が入っていると仮定) で、いけると思います。
お礼
ご回答ありがとうございます!!! 0時を過ぎると学校のシステム上パソコンが使えなくなってしまうため、解決策が見え出したところで作業中断してしまいました(ToT) 明日作業後、改めてお礼させていただきます。 本当にありがとうございました。
- phoenix343
- ベストアンサー率15% (296/1946)
| マクロも不得手なもので・・・・。 | 何百件もあるので、とても1シートには収まりません。 …えーと Excelの一シートは2003までなら、65536件まで大丈夫。 2007であればそれ以上の件数が入るので、 何百件ではおさまらない理由になりません。 それは一画面におさまらないってだけでしょう? #3の方の言うとおりだと思うので、頑張ってくださいね
お礼
ご指摘ありがとうございます。頑張ります。
- mitarashi
- ベストアンサー率59% (574/965)
生徒が何万人もいればAccessが必要でしょうが、数百人で、ユニークな学生番号があるなら、VLOOKUPと、フィルターで十分出来そうな気がします。作業用にブックを一つにまとめても問題無いのでは?具体的なシート構造を明示していただければ親切な方が回答してくれるかも。
お礼
学生番号は個人に1つずつあり同じ番号はないので、Bは氏名ではなく学生番号で作業しています。 やはりExcelでできるのですね・・・・。関数は苦手なので自信はないですが、頑張ってもう少し調べてみようと思います。
- say2005
- ベストアンサー率36% (18/50)
accessで新しいデータベースを作ってもらい、[ファイル]から[外部データの取り込み]、[インポート]を選択するとファイル選択画面が出てくるので[ファイルの種類]を[Microsoft Excel (*.xls)]にしてAとBをインポートしてください。 とりあえず前半部分の解答
補足
>accessで新しいデータベースを作ってもらい すみません、これについてよく理解できません。。。 AとBをインポートすることが、「accessで新しいデータベースを作る」ということにならないのですか? 新しくまた何か作成しなければいけないのでしょうか? ちなみに上記手順で、AとBインポートまではすでにできています。
- phoenix343
- ベストアンサー率15% (296/1946)
わざわざAccessでやる必要はあるのかなあ? Excel VBAマクロでも十分可能だぞ? まあ件数が一シートに収まらないほどであるなら確かにAccessにした方がよいが、、、
補足
マクロも不得手なもので・・・・。 何百件もあるので、とても1シートには収まりません。
お礼
こんなに丁寧な解説をありがとうございます!!! 0時を過ぎると学校のシステム上パソコンが使えなくなってしまうため、解決策が見え出したところで作業中断してしまいました(ToT) 明日作業後、改めてお礼させていただきます。 ご親切に心より感謝いたします。