EXCELで一致したデータを表示する方法

このQ&Aのポイント
  • EXCELのバージョンが2003の場合、陶芸教室と一致する日付を計算式で表示する方法について説明します。
  • A列にイベント名、B列にイベント開催日時を入力し、D列に陶芸教室と入力すると、E列に一致する日付が計算式で表示されます。
  • オートフィルタでも一致するデータを表示できますが、計算式を使用することでより効率的に一致したデータを表示できます。
回答を見る
  • ベストアンサー

EXCELで一致したデータを表示したい

今度、イベントの管理をすることになりました。 A列にイベント名、B列にイベントを開催した日付を入力します。 例えば、 A列(イベント名)B列(イベント開催日時) 陶芸教室     2009/05/02 手芸教室     2009/05/25 陶芸教室     2009/07/10 陶芸教室     2009/09/12 D列に陶芸教室と入力すると、E列に陶芸教室の開催日時(この場合、                2009/05/02,2009/07/10,2009/09/12) と計算式で出すことが出来ますでしょうか? オートフィルタでも出せますが、計算式で出来るのであれば、計算式で、やりたいと思っています。 使っているEXCELのバージョンは、2003です。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一例です。 ↓の画像でE1セルに =IF(OR($D$1="",COUNTIF($A$2:$A$100,$D$1)<ROW(A1)),"",INDEX($B$2:$B$100,SMALL(IF($A$2:$A$100=$D$1,ROW($A$1:$A$99)),ROW(A1)))) これは配列数式になってしまいますので、この画面から直接E1セルにコピー&ペーストしただけではエラーになると思います。 貼り付け後、F2キーを押す、又はE1セルでダブルクリック、又は数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrl+Enterキーで確定してください。 数式の前後に{ }マークが入り配列数式になります。 そして、E1セルをオートフィルで下へコピーしています。 これでC1セルに検索したい項目を入力すれば、画像のような感じになります。 尚、数式は100行目まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてみてください。 もしデータ量が多い場合、この配列数式はコンピュータに負担をかけますので あまりおススメできません。 その場合は抽出するための作業用の列を設けて作業する方法が良いと思います。 以上、長々と書きましたが 参考になれば幸いです。m(__)m

kawa33
質問者

お礼

早速、アドバイスありがとうございます。画像の添付と詳しい内容で、理解出来ました。計算式で出来ないのでは?と思っていただけに、とても勉強になりました。そして、計算式よりも抽出の方が良いという事も教えてくださり、ありがとうございました。

その他の回答 (1)

noname#204879
noname#204879
回答No.2

「計算式」をお望みですが、別解として、長々と書かなくて済む[フィルタオプションの設定]をご紹介しておきます。添付図だけで十分でしょ。

kawa33
質問者

お礼

早速アドバイスありがとうございます。フィルタオプションの設定を使ったことがありますが、抽出範囲って今まで指定したことがありませんでした。使い方を丁寧に教えてくださりありがとうございます。

関連するQ&A

  • エクセルのデータから一致するデータを出したい

    エクセルの表から一致するデータに対応する指定列のデータを表示させたいのですがどの関数で設定すればよいのか教えて下さい。 A2からDの30までの表(実際には4000列以上) 1行は見出し A列は1~のナンバリング B列は商品コード(同じコードが複数ある)    ・昇順に並べてある C列は日付け    ・2番目に優先で昇順に D列は文字列 探したい商品コードをB1入力、それに対応するD列の文字列の昇順のトップをD1に表示させたい この内容で伝わるでしょうか オートフィルターで選ぶのも考えたのですが、入力した時その列のある列のデータが瞬時に見たいのです。 よろしくお願いします。

  • エクセル・LOOKUPで、不一致の場合の表示

    エクセルの関数、LOOKUPを使って、 患者IDから患者名を引き出したいのですが、 IDが不一致の場合は「該当なし」がわかるような表示にしたい。 現在はIDが一致しない場合、適当な?患者名が表示されてしまう。 シート1のA列に患者ID シート1のB列に患者名 以上の情報があらかじめ入力されています。 やりたいことは シート2のA列にIDを入力すると シート2のB列に患者名を表示。 ID入力しない場合は、空白。 IDが一致しない場合は、不一致などの表示。 現在の計算式 シート2のB列に計算式が入力されています。 =IF(A1="","",LOOKUP(A:A,シート1!A:B,シート1!B:B)) 現在できていること。 ・患者IDを入れなければ空白 ・患者IDを入力し、シート1のIDが一致したら、患者名を返す。 困っていること ・患者IDが一致しないと、適当な?患者名が表示される。

  • エクセルで、フィルタでデータを抽出した値を表示させるには・・

    仕事でexcel2000を使っています。 例えば、3行目より、a列に社名 b列に番号 c列に商品名が入っているとします。オートフィルタで、番号を一つ選ぶと、社名と商品名も表示されます。その表示された社名を、1行目に自動的して表示させえるにはどうしたらよいでしょうか?(宛先としたいのです)フィルタで抽出されるデータなので、毎回、出てくる会社が違うし、手で入力するかコピーすればいいのでしょうが、処理件数が多いと面倒だったりするもので。何か、簡単に出来る数式もしくは方法があれば教えてください。 よろしくお願いします。

  • EXCELのオートフィルタについて教えてください。

    下記のようにデータが入力されています。   A   B   C 1 あ 2 い 3 う 4 え 5 お C列のC1に「=A1」C2に「=A2」と入力してオートフィルタを使って、「C3」以下に入力するとオートフィルタが使用できます。 しかし、以下のようにデータが入力されている場合はオートフィルタが使用できないのですが・・・   A   B   C 1 あ 2  3 い 4  5 う 6 7 え 8 9 お C列のC1に「=A1」C2に「=A3」と入力してオートフィルタを使って、「C3」以下に入力するとオートフィルタが使用できません。 簡単なことなのかもしれませんが、今一理解に苦しんでいます。 宜しくお願いいたします。

  • エクセル2つのセルを1つのデータとして一致

    エクセル初心者です。 (1)シートのA列には店舗名(A列には同じ店舗名が複数あります)とB列には数値を入力しています。(2)のシートには(1)シート同様のデータが入力されていますがCとD列に値があります。 (1)シートの同行内のAとB列を1つのデータとして(2)のシートのAとB列が一致したらCとD列の値を(1)シートに返す事は可能でしょうか? (1)シート A列    B列   C列   D列 ヤマダ   25 スズキ   10 ヤマダ   100 (2)シート A列    B列   C列   D列 ヤマダ   25    5    英 スズキ   10    6    独 ヤマダ   100    6 仏 さくら  20    8 英 つたない説明で申し訳ありません。

  • Excelでデータの数え方

    去年1年間で来社した人の数を調べています。A列が日付、B列が人名欄だとします。一日に数回来社した場合もカウントします。 例えば、B列のAさんは、色々な日に何回か来社したのでその記録があるのですが、このB列に記録されている来社した人の数だけを調べるにはどうしたらいいでしょうか?(回数は関係ありません) オートフィルタをかけて、プルダウンのボタンで人名だけ出ますが、何百人といるので数えるわけにもいきません。 簡単にこの数字を出す方法あったら教えてください。 よろしくお願いします。(説明が下手ですみません・・・)

  • エクセルの関数でのデータ処理が重い

    お願いします。 エクセルで2万件のデータを関数処理しています。時間がかかるのでVBAで処理できればと 考えています。 A列に当日の顧客コード B列に前日の顧客コード   以下の式によって、前日と当日を比較して増えた顧客と減った顧客を表示させています。 C列に=IF(COUNTIF(B$2:B$23000,A2)>=1,"","増")の関数が入っています。 計算させた後でC列をオートフィルタで増のみ表示し、確認。 D列に=IF(COUNTIF(A$2:A$23000,B2)>=1,"","減")の関数が入っています。 計算させた後でD列をオートフィルタで減のみ表示し、確認。 これをVBAで処理して時間の短縮をしたいのでお教え頂ければ幸いです。 宜しくお願いします。

  • Excelで2列のキーワードからのデータを合計するには?

    A列に日付、B列に支店名、C列に商品名、D列に売上金額が売上ごとに入ってます。 ある支店の売上の合計にはSUMIF(支店名)を使っていますが、ある支店の(且つ)ある商品の売上の合計はどうやって計算すればいいのでしょうか?フィルターやピボットテーブルでなく関数を使いたいのですが。 初歩的な質問ですみませんがよろしくお願い致します。

  • エクセル宜しくお願いします。

    A列はコードナンバー、B列には氏名 1行目は日付2列目は曜日3列目からは来店された時間 1時間未満なら1、3時間未満なら3と・・・(手入力)    日付 7/1 7/2 7/3 7/4    曜日  木   金   土   日 1 Aさん  1   2   1   1 2 Bさん  0   3   1   4 3 Cさん  2   0   2   3 4 Dさん  1   1   1   0 200番まであります それを現状はオートフィルタをつかい0を省いて1から順にコピー貼り付けをしています。別シート    日付 7/1     曜日  木  1 Aさん  1 4 Dさん  1 3 Cさん  2 と貼り付けをしています。 それを関数を使い自動でする方法ありましたら 宜しくお願いします。

  • エクセルの関数かマクロでの採番について

    以下の様な表があります。 A       B 201201-001 2012/01/01 201201-002 2012/01/03 201201-003 2012/01/05 201201-004 2012/01/05 201201-005 2012/01/08 201201-006 2012/01/09    ・      ・    ・      ・    ・      ・ ・A列に入力する項番はB列の日時のYYYYMM-[(1)] ・B列に入力する日付は不定日時 質問事項 [1]B列に日時が入力されたらA列に自動採番する。 [2]毎月20日になったら、A列の上記(1)を001に戻す。 [3]月が変わったらA列のMMをB列の入力月と連動させる。 こんな感じにしたいです。 A        B 201201-001 2012/01/01 201201-002 2012/01/03 201201-003 2012/01/05 201202-004 2012/02/03 ←○ 201202-005 2012/02/15 201202-006 2012/02/18 201202-001 2012/02/21 ←○ 201202-002 2012/02/29 201203-003 2012/03/01 ←○ 201203-004 2012/03/10 よろしくお願いします。

専門家に質問してみよう