• ベストアンサー

[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/17068)
回答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

  • EXCEL カンマ区切りされたデータをVlookup関数で処理

    EXCELに関して、教えていただきたいことがあり、 投稿させていただきます。 一つのセル内に・・・ A1,B1,C2 とカンマ区切りされたデータがあり、 それをVlookup関数を利用して、 佐藤さん,田中さん,鈴木さん とカンマ区切りのままで、 データ呼び出し処理をしたいと考えています。 A1,B1,C2の段階でセル分割を行い、一つずつのセルで Vlookup関数を使えば、呼び出すことはできましたが、 扱う件数が多いため、一発処理ができればと考えております。 ご存知の方、教えていただけますでしょうか。 よろしくお願いします。

  • 【Excel2010】複数の範囲をソートするには?

    初めまして、dtraと申します。 早速ですが質問を。 Excel2010を使用しているのですが、以下のような状態でExcelの機能・またはマクロを使ってソートをする方法はあるでしょうか? 1枚目 氏名 データ1 データ2 データ3... Bさん... Cさん... Dさん... 2枚目 氏名 データ1 データ2 データ3... Eさん... Fさん... と、データ数が多くなり印刷時の用紙が2枚以上になってしまう時に、 1枚目 氏名 データ1 データ2 データ3... Bさん... Cさん... Dさん... 2枚目 氏名 データ1 データ2 データ3... Eさん... Fさん... Aさん... このようにAさんのデータを入力した後、 1枚目 氏名 データ1 データ2 データ3... Aさん... Bさん... Cさん... 2枚目 氏名 データ1 データ2 データ3... Dさん... Fさん... Gさん... と、名前の昇順で全体をソートしたいのです。 今の所はデータを配列に格納してから新たに書き込ませる方法を取っていますが、データ量が多くなる事が予想されるので何か方法が無いかと質問に来ました。 解決策が思い浮かぶ方、どうか回答をお願いします。

  • 【Win】ファイルメーカー⇔エクセル(インポート/エクスポート)

    ファイルメーカーPro 5.0で作成したデータをエクセルに エクスポートし、エクセル上でデータの修正等をして、 またファイルメーカーに戻したいと思います。(ファイルメーカーが 入っていないパソコンでデータを追加したりしたいため。) エクセルにエクスポートすると、フィールドを"繰り返し"に 設定している部分が、エクセル(コンマ区切りcsv、タブ区切りtab)では ひとつの列に『・』で区切られて入りますよね。 ファイルメーカー上 ⇒ フィールド1:「A」「B」「C」 エクセル上 ⇒ 列1:「A・B・C」 となりますが、 別のレコードの同じフィールドに「D」「E」「F」と入れたい場合 エクセル上でどう入力すれば良いのでしょうか。 「D・E・F」と入力すると、 ファイルメーカーにインポートしたときに「D・E・F」「(空欄)」「(空欄)」 となってしまいます。 分かりにくい説明で申し訳ありませんが、よろしくお願いします。

  • エクセルで文字の数をカウントしたいのですが、

    エクセルで文字の数をカウントしたいのですが、 うまくできません。 データを文字列で 112 134 234 235 567 とあり、「1」の数を数えたいです。 関数で =COUNTIF(B1:B5,"*1*") とやると結果は 2 になってしまいます。(本当は3と出てほしい) データ、区切り位置でやる方法も見つけましたが、 この方法で結果を出すことはできないでしょうか? よろしくお願いします。

  • Excel 重複データーのカウント

    Excelの関数に対する質問です。   =COUNTIF(A1:E1,A1) はA1と重複するデータを求めますが、この方法ではなく A B C D E 0 A A B C D 1 A A B C C 2 このように 行に重複するデータのデータ件数をいっきに求められる関数があるのでしょうか? それともそれぞれのデータを=COUNTIF(A1:E1,A1)~でそれぞれもとめた後、それを合計しなければならないのでしょうか? よろしくお願いします。

  • 秀丸で行数を行頭に挿入したい。

    秀丸の初心者です。 カンマ区切りのテキストファイルがあります。 各行の頭に、行数とカンマを挿入したいのですがどのようにすればよろしいでしょうか? a,b,c,d,e,,,, e,f,e,v,x,,,, ↓ 1,a,b,c,d,e,,,, 2,e,f,e,v,x,,,, テキストファイルをcsvに名前を変更してエクセルで開くと、カンマの数が変わっていたのでエクセルではなく秀丸で行いたいと考えています。 宜しくお願いします。

  • Excel 複数の項目合致するデータを抽出したい

    是非、よろしくお願いいたします。 以下の状況です。 sheet1には A、B、C、Dという4列があります。データは1000行くらいです。 sheet2には A、B、C、Eという4列があります。データは2000行くらいです。 この状況で、sheet1のD列の右に新しい列を作り、 「sheet1の(例えば)A1、B1、C1と合致する行のsheet2のE列データ」を、 sheet2のABC列範囲を検索して抽出したいのです。 項目が一つであればvlookup関数でできるものを「複数項目に合致」のため上手くいきません。 この3列のデータを結合して一つにしてみましたが、結合後のデータが16桁以上のため末尾が「0」になってしまい、正確に検索できません。 何か上記を可能にする方法はないでしょうか? よろしくお願いいたします。

  • エクセルについて質問です。

    エクセルについて質問です。 セル内にカンマで区切られた数値群があります。 その数値をセル単位で集計するためにはどうすればいいでしょうか。 vlookupやcountなどの一般的な関数だとカンマ区切りのセルをうまく集計することができませんでした。 例 A 1,2,3,4,7,8,9,10 B 3,4,5,6,7,8 C 1 D 1,4,8,9,10 1を含むセルは3つ←これを集計したい よろしくお願いします。

  • エクセルでカンマ区切り文字を各行に分解するマクロを書きたい

    WindowsXP Excel2003 エクセルで以下ができるマクロを書きたいです。 B列にはカンマ区切りで文字列が入っています。 カンマ区切りの数は行によって様々です。 この表をB列のカンマ区切り文字を各行に分解したいです。 その際、A列とC列は分解前の値と同様です。 このようなマクロは書けますかね? A列     B列     C列 あ     a,b,c    100 い     d,e     200 う     f      300 え     g,h     400     ↓ A列     B列     C列 あ     a      100 あ     b      100 あ     c      100 い     d      200 い     e      200 う     f      300 え     g      400 え     h      400

  • 【EXCEL】複数行を1行に

    エクセルにまだまだ不慣れなもので、質問させてください。 下の図《1》のようなデータが大量にあります。CSV形式に出力したいのですが《2》のように並べ替えなければいけませんよね?(←ここら変の知識も未熟なものですみません。。) 《1》のようなデータを《2》のような並びにする事は可能でしょうか? ちなみに《1》のようなデータは、一行ずつ空白行をはさみ、下まで何百件も並んでいます。また、1データの行数もランダムです。 何か良い方法がありましたら是非ご教授下さい。よろしくお願い致します。 《1》 A  B   C   D   E   F 1 ●● 2 ■■ 3 ▲▲ 4 ◎◎ 《2》 A   B  C  D  E   F 1 ●● ■■ ▲▲ ◎◎ 2 3 4

専門家に質問してみよう