• ベストアンサー

[Excel]複数の要素が合致するレコード数をカウントする

Excelにおいて 1,A,B,C,D,E,F, 2,A,C, 3,E,D,C,A, 4,B,E,F,A, 5,D,A,F,C,B, のようなデータがあったとして(数字はレコード番号で、コンマはエクセルのセル区切りだと思ってください。) このデータから「"A"と"C"が両方含まれるレコードの数」 (この場合は4件)を抽出するには、どのように関数を組み合わせればよいでしょうか? ちなみに要素A~Fはソートされておりません。 COUNTIF,VLOOKUPやMATCH関数を使いそうなことはなんとなくわかるのですが、詳しい方よろしくご教示ください。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

不細工なやり方ですが、 A1からF5の範囲にデータがあるとして =COUNT(FIND("A",A1:A5&B1:B5&C1:C5&D1:D5&E1:E5&F1:F5)*FIND("C",A1:A5&B1:B5&C1:C5&D1:D5&E1:E5&F1:F5)) と式を入れて SHIFT+CTRL+ENTERで決定

uvgHS7Kk
質問者

お礼

ありがとうございます。 これでうまくいきました。 FINDの最後の引数は、名前の定義をすることですっきりかけました。

その他の回答 (2)

noname#176215
noname#176215
回答No.3

6行目以降の 適当なセルに =FREQUENCY((MMULT((1:5="A")+(1:5="C"),ROW(1:256)*0+1)<>2)*1,0) これでどうですか?

uvgHS7Kk
質問者

お礼

これはかなり目からうろこな方法ですね。 いまは時間がありませんが、あとで必ずやってみます。

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

関数で抜き出しは余りお勧めしません。 あえてやってみます(imogasi方式の応用) データ例 Sheet2のA2:I6 ただしI列は式の結果 データは、第2行からはじめてください。 1 A B C D E F 1 2 A C 2 3 E D C A 3 4 B E F A 5 D A F C B 4 Sheet2のI2に =IF(AND(COUNTIF(B2:G2,"A")>0,COUNTIF(B2:G2,"C")>0),MAX($I$1:I1)+1,"") といれてI6まで式を複写。 Sheet3に行ってA2に =IF(INDEX(Sheet2!$A$2:$G$6,MATCH(ROW()-1,Sheet2!$I$2:$I$100,0),COLUMN())=0,"",INDEX(Sheet2!$A$2:$G$6,MATCH(ROW()-1,Sheet2!$I$2:$I$100,0),COLUMN())) と入れて、F2まで式を複写。 A2:F2をA6:F6まで複写。 結果 1 A B C D E 2 A C 3 E D C A 5 D A F C B です。 7行目より下に式を複写すると#N/Aが出るが、防止法はIF文を使うが 式が長くなるので略。

uvgHS7Kk
質問者

お礼

ありがとうございます。 ちょっと難しくて、途中で断念してしまいました。

関連するQ&A