- ベストアンサー
エクセルでの検索について
色々自分で調べてみましたが分からないので投稿しました。 日付・電話番号・品名の入力された表で 1/1 0000 A 1/2 0001 B 1/3 0002 A 1/4 0003 C 1/5 0000 D 1/6 0000 A ・ ・ ・ とあった時に電話番号・品名が一致する行の一覧を抽出したいのですが (例えば 0000 Aの条件の合う日にちの一覧等) どういう方法を使えばいいのか分かりません。 COUNTやMATCH関数を使うのかと思ったのですがうまくいかないもので・・・ 出来れば関数で行なういい方法はないでしょうか? よろしくお願いします
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
関数を使って対処するとなりますと作業列を設けて行うことになるでしょう。 A2セルから下方に日付、B2セルから下方に電話番号、C2セルから下方にそれぞれのデータが入力されているあるいは今後入力されるとしてD2セルには=B2&C2の式を入力して下方にオートフィルドラッグします。 E2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(D2="","",D2&"/"&COUNTIF(D$2:D2,D2)) F2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(D2="","",IF(AND(COUNTIF(D$2:D2,D2)=1,COUNTIF(D:D,D2)>1),MAX(F$1:F1)+1,"")) そこで、お望みのデータは別のシートにしてもよいのですが、ここではH1セルに電話番号、I1セルに品名の文字をそれぞれ入力し、H2セルには次の式を入力しI2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(COUNTIF($F:$F,ROW(A1))=0,"",INDEX($B:$C,MATCH(ROW(A1),$F:$F,0),COLUMN(A1))) これでデータの組み合わせが重複しているケースのデータが表示されます。 J2セルには次の式を入力したのちに右方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(COUNTIF($E:$E,$H2&$I2&"/"&COLUMN(A1))=0,"",INDIRECT("A"&MATCH($H2&$I2&"/"&COLUMN(A1),$E:$E,0))) それらの範囲におけるセルの表示形式は日付にします。 これで重複しているケースでの日付が一覧表示されることになります。
その他の回答 (1)
- esupuresso
- ベストアンサー率44% (257/579)
検査値を日付にするのでしたら「VLOOKUP」で出来ますね 但し、検査値の日付が重複するのでしたらオートフィルタを使った方が効率はいいと思いますよ
お礼
回答ありがとうございます。 ただ、検査値は日付ではなく電話番号・品名なのと、実際の表は左端列には別の値が入っているのでVLOOKUPではうまくいかなかったのです。 オートフィルタは別の事に使っているので何とか関数でしたいんですよねー・・・ 「このお客さんは当方のこの品物を以前は何日と何日に購入したのか?」 というのを電話番号から検索したいんですよねー
お礼
この方法でまさしく私の望んでいたものが出来ました! ありがとうございます!! 少しずつ式の意味を理解していきたいと思います。 ありがとうございました