• 締切済み

2つのExcelファイルを元に、Accessでデータを抽出したい。

今手元に、AとBのExcelファイルが2つあります。 Aには、全学年の生徒氏名、学生番号、性別が載っています。 Bには、運動部の生徒氏名、学生番号が載っています。 Aの全学年生徒から男子のみをピックアップし、さらにBの運動部の生徒を引いたものを抽出しなければなりません。(要は、文化部と帰宅部の男子生徒を知りたい。) Excelだけで作業するには数が膨大すぎるのでAccessを使いたいのですが、今までAccessを一度も使ったことがなく、参考書やネットで調べながらやっているのですが、まったくわかりません。 (クエリという機能を使うのでしょうか?) 納期も明日までで非常に困っています。 どうか、どなたかお力を貸してください(T_T)

noname#91846
noname#91846

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.7

>Excelだけで作業するには数が膨大すぎるので 2003までで65千、2007なら100万もの人数が扱える。生徒といっているのは、仮の例えか。量は質(対処やり方)を規定するということも多いので概数を正確に書くこと。 VLOOKUP関数で一方のブックをテーブルと看做して検索(性別を取ってくる)できるのを知ってますか。やってみましたか。両方開いておかないとダメですが。 >納期も明日までで非・・ アクセスが、抽出にしろ一晩で使えるというのは甘い。 何年たっても出来ない人は身に着かないクセ(適不適)のあるソフトです。 >文化部と帰宅部の男子生徒を知りたい 耳慣れない言葉だが、Bにない生徒が帰宅部? ーー 丸投げで有る上、A,Bファイルのデータ項目の有様などの書いてなくて、HelpMe!しか伝わらない。好意有る回答者に丸まる回答を期待するなら、質問を関数式でも組めるように具体的に書くこと。 ーーー 2ファイルでVLOOKUP関数を使うやり方の説明を考えてみる。

  • say2005
  • ベストアンサー率36% (18/50)
回答No.6

#2です。 その手順で大丈夫です。 わかりやすく1つずつ説明します。 まず男性だけをピックアップするということなので女性の方のデータを消します。 このときデータそのもの(acceseのデータ)をいじくるのでAのテーブルを他で使うときには複製しといてください。 方法は[テーブル]Aの上で右クリック[名前をつけて保存]です。 ここでは仮に複製データを作り名前をコピーAでいきます。 [クエリ]→[ウィザードを使用してクエリを作成する]→テーブルコピーAを選択し[>>]→[次へ]→[次へ]→[クエリのデザインを編集する]を選択→[完了] [クエリ]→[削除] 性別の抽出条件に女性と入力 ※女性の所はテーブルの書き方によって変わります。男子女子で書かれている場合は女子にしてください。分からないときは"*女*"で大丈夫だとおもいます。 [クエリ]→[実行] これで男子のみのデータになりました。 次に運動部に所属している生徒を削除します。 クエリ→新規作成→デザインビュー→閉じる 表示→SQLビュー DELETE * FROM コピーA WHERE 生徒番号 = (select 生徒番号 from B); と入力 実行 これでできるはず・・・遅くなってすみません>< accessの使い方すっかり忘れてる><

noname#91846
質問者

お礼

こんなに丁寧な解説をありがとうございます!!! 0時を過ぎると学校のシステム上パソコンが使えなくなってしまうため、解決策が見え出したところで作業中断してしまいました(ToT) 明日作業後、改めてお礼させていただきます。 ご親切に心より感謝いたします。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.5

#3です。インポートまでされているなら、教えちゃいます。当方、Access2000なので、表現等違いがあるかもしれませんが... データベースウィンドウで、 クエリ/新規作成/不一致クエリウィザード 抽出元テーブルをAに、比較テーブルをBに、共通するデータを含むフィールドを学生番号に、結果として表示させたいフィールドを選択し、「クエリのデザインを編集する」を選択して、完了。クエリのデザイン画面で、性別の抽出条件に男を設定(文字列で男か、女が入っていると仮定) で、いけると思います。

noname#91846
質問者

お礼

ご回答ありがとうございます!!! 0時を過ぎると学校のシステム上パソコンが使えなくなってしまうため、解決策が見え出したところで作業中断してしまいました(ToT) 明日作業後、改めてお礼させていただきます。 本当にありがとうございました。

  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.4

| マクロも不得手なもので・・・・。 | 何百件もあるので、とても1シートには収まりません。 …えーと Excelの一シートは2003までなら、65536件まで大丈夫。 2007であればそれ以上の件数が入るので、 何百件ではおさまらない理由になりません。 それは一画面におさまらないってだけでしょう? #3の方の言うとおりだと思うので、頑張ってくださいね

noname#91846
質問者

お礼

ご指摘ありがとうございます。頑張ります。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

生徒が何万人もいればAccessが必要でしょうが、数百人で、ユニークな学生番号があるなら、VLOOKUPと、フィルターで十分出来そうな気がします。作業用にブックを一つにまとめても問題無いのでは?具体的なシート構造を明示していただければ親切な方が回答してくれるかも。

noname#91846
質問者

お礼

学生番号は個人に1つずつあり同じ番号はないので、Bは氏名ではなく学生番号で作業しています。 やはりExcelでできるのですね・・・・。関数は苦手なので自信はないですが、頑張ってもう少し調べてみようと思います。

  • say2005
  • ベストアンサー率36% (18/50)
回答No.2

accessで新しいデータベースを作ってもらい、[ファイル]から[外部データの取り込み]、[インポート]を選択するとファイル選択画面が出てくるので[ファイルの種類]を[Microsoft Excel (*.xls)]にしてAとBをインポートしてください。 とりあえず前半部分の解答

noname#91846
質問者

補足

>accessで新しいデータベースを作ってもらい すみません、これについてよく理解できません。。。 AとBをインポートすることが、「accessで新しいデータベースを作る」ということにならないのですか? 新しくまた何か作成しなければいけないのでしょうか? ちなみに上記手順で、AとBインポートまではすでにできています。

  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.1

わざわざAccessでやる必要はあるのかなあ? Excel VBAマクロでも十分可能だぞ? まあ件数が一シートに収まらないほどであるなら確かにAccessにした方がよいが、、、

noname#91846
質問者

補足

マクロも不得手なもので・・・・。 何百件もあるので、とても1シートには収まりません。

関連するQ&A

  • Excelにおけるデーター抽出

    Excelのシートに記載されている内容は次の通りです。 (1) セルA5~A60の間に1~56の昇順の番号 (2) セルB5~B60には氏名 (3) セルC5~C60には○、×、△の記号 このシートからC列が ○ の記号が付与されている者だけの氏名を別のシートのB7~B**の間に抽出するのですが、抽出したシートの行に空白ができないようにするには式をExcel関数で作成することは可能でしょうか? 若し、不可能でしたらマクロで行う場合のプログラムを教えて下さい。

  • データを抽出し、コメントを入れたい。

    アクセス初心者です。アクセスでもエクセルでも どちらでも構いません。ご教授お願います。 Aセル Bセル 10001 10003 10004 10006 . . .     のように膨大な元データがあり、 次のデータが元データにあるか抽出し、ガッチしたデータのBセル(元データの)に次のデータのBセルを入れたい。 Aセル Bセル 10003 5月15日 10006  3月3日  .    .  .    .  .    . 出来上がりは、 Aセル Bセル 10001 10003 5月15日 10004 10006 3月3日 . . .   .  . 上手く説明できないのですが、 1000件位のデータから、 ある200件位のデータを抽出し、同じデータのBセルに コメントをコピーしたい。 膨大な英数字のデータから決められたデータをピックアップし、 印を付ける様な感じですかね! よろくしお願いします。

  • excelのデータ抽出

    A列に4桁の番号が、500件ほどあります B列に1000件ほど4桁の番号があります。 A列に番号がある人だけに、まるをつけたいのですが・・ 仮にA列が合格番号、B列が、合格者だとしたら 合格者だけをピックアップしたいのです。 MATCH関数を使えばいいのか、わからずこまっています。お教え下さい

  • Excel VBA 検索して該当行を抽出

    はじめまして、下記のように、Excelでマクロを組みたいのですが 組み方がわかりません。 ご教授願えませんでしょうか。 MS Ofiice2010 生徒数500名ほど シート1には生徒の生徒番号、氏名などがあります。      A     B     C     D 1 生徒番号   氏名   備考 2 120001     田中 3 120002     山田  試験時休み 4 T120009    相田   転入 シート2には生徒の成績表:生徒番号、氏名、国語、算数、理科、社会 生徒番号でソートされていません。      A     B     C     D     E     F    1 生徒番号   氏名   国語   算数   理科   社会   2 120001     田中   80    65     65     75 3 T120009    相田   90    85     80     80 シート1の生徒番号でシート2生徒番号を検索して、該当したら成績を シート1の検索した生徒番号のD列以降にコピーしたいのですが      A     B     C     D     E     F     G 1 生徒番号   氏名   備考   国語   算数   理科   社会 2 120001     田中         80    65     65     75 3 120002     山田  試験時休み 4 5 10 T120009    相田   転入    90    85     80     80 お手数ですが、ご教授願えますでしょうか。 よろしくお願いいたします。

  • エクセルの関数でデータ抽出をしたい

    エクセルの関数でデータの抽出をしたいのですが、出来るか分からないですが、やり方を教えてください。 まず、現状の管理簿ではA列に発注管理番号、B列に管理エリア、C列に納期他をランダムに打ち込んでいます。 今回、新たにシートを追加して、納期の日付毎に管理できるカレンダーを作成していきたいと考えています。 具体的には新たなシートのA列に1日から31日までを事前に入力していて、B列にその日に該当する納期のある発注管理番号とエリアを全て表示させたいと考えています。 例として、管理簿のシートが A B C 1 22-1 南 2010/2/1 2 22-2 北 2010/2/3 3 22-5 南 2010/3/4 4 22-12 西 2010/2/17 5 22-31 東 2010/2/3 6 22-8 北 2010/2/4 カレンダーのシートで A B 1 2010/2/1 22-1南 2 2010/2/2 3 2010/2/3 22-2北,22-31東 4 2010/2/4 22-8北 5 2010/2/5 6 2010/2/6 7 2010/2/7 こんな感じにしたいと思っています。 よろしくお願いします。

  • エクセルでアクセスの機能が使えますか?

    次のような機能はアクセスでは一発で出来るのですが、今の会社のパソコンにはアクセスが入っておらず、しかもお金がかかるという理由で買ってもらえません。プログラムを組めば出来るものでしょうか? やりたい事 シート1 A:社員番号 B:氏名 C:学歴 D:入社年月日 シート2 A:社員番号 B:住所 C:電話番号 シート1と2のデータを社員番号をキーにして下のような1つのデータベースを作りたいのです。 シート3 A:社員番号 B:氏名 C:住所 D:入社年月日 アクセスでしたら、簡単に出来るのですが。。。エクセルでイチイチ貼り付けて処理をしているのですが、時間もかかるし、間違いも多くちょっと困っています。 何かいいアイディアがありましたら、教えて下さい。

  • エクセルで、抽出したいデータがあります!!

    エクセルで、抽出したいデータがあります!! 個人で年1回、支給額も支給年月も異なるデータを抽出したいのですが。   支給年月日  H22.4.20  H22.5.15  H22.6.30・・・・ 番号 氏名     4月     5月     6月  ・・・・計 1   A     1000                  1000 2   B                   1500    1500 3   C            1200           1200 上記のような表があり、個人の支給額と支給年月日を抽出するのに、 いちいち上から一つずつ探して以下のような表に記入しています。 番号 氏名  支給額  支給年月日 1   A   1000   H22.4.20 2   B   1500   H22.6.30 3   C   1200   H22.5.15 個人の支給額と支給年月日を簡単に抽出する方法はないでしょうか? よろしくお願いいたします。

  • データの抽出

    名簿形式のデータAがあります。 そのデータAの中から一部を取り出したデータBを作成しました。 質問は全データである「A」から「データB以外のデータ」であるCを 作成するにはどうすれば良いのでしょうか?エクセルの関数かアクセスを使って簡単に抽出できるのでしょうか。よろしくお願いします。 A   氏名  住所 など 1 石川  東京 2 佐藤  名古屋 3 山田  北海道 … 100   B   氏名  住所 2 佐藤  名古屋 5 本田  東京 10 … 78 C    氏名 住所 1 石川 東京 3 山田 北海道 4

  • アクセス2003 複数の列に分かれたデータを1列にまとめたい

    例えば (A列)氏名/(B列)電話番号/(C列)携帯電話番号 というcsvデータがあり、これをアクセスに取り込んだときに (A列)氏名/(B列)電話番号or携帯電話番号 というように、2列のデータを1列にしたいのですが うまいやり方はないでしょうか? 元のデータをエクセル上でコピペすれば済むのですが 余計な手間はかけたくないので、よろしく御願いします。

  • Excelで抽出

    初めまして。よろしくお願いします。 Excel2000を使っています。 例えば、 A列     B列   C列   D列 お客様番号  氏名   契約日  生年月日  :      :    :    : という表があるとし、データは2000件ほどあると 思ってください。 1行目から最終行までみて、 『同一氏名』&『同一契約日』&『同一生年月日』の ものを違うシートに表示させたいのですが、 こういうことってExcelで出来るのですか? 出来るのであれば是非教えてください。 質問するのは初めてなので お手柔らかに・・・m(__)m

専門家に質問してみよう