エクセル2003で複数列の中の文字列の検索、個数抽出

このQ&Aのポイント
  • エクセル2003で複数列の中の文字列の検索、個数抽出をする方法を教えてください。
  • D列の文字列の中でA~C列の中に重複している文字が何個あるかを求めたいです。どうすればよいですか?
  • MATCH関数を使用することも考えましたが、配列の概念がないためうまく動作しません。他にどのような方法がありますか?
回答を見る
  • ベストアンサー

複数列の中の文字列の検索、個数抽出

どなたかお力をお貸しください。。 エクセル2003を使用しています。    A列 B  C  D 1  あ  う     あ 2  い  お  か  か 3  う        う 4  え     き  く 5  お  い  う  け Dの文字列のなかでA~C列の中に重複している文字が何個あるかを出したいです。 この場合D列は「あ、か、う、く、け」なので、A~C列にある「あ、か、う」が重複しているので、3個と出したいです。 もしくは重複していない「く、け」で2個と出したいです。 MATCH関数を使うと出来そうなのですが、MATCH関数だと配列の概念がなさそうなので、どうしたものかと。 条件として、 ・一つのセルで関数を使用して出す。 ・マクロ、計算用のセルはできたら使用しない。 ・空白セルもあり、文字列の完全一致のみ個数としてカウント。 ・列の数はだんだん増えてくるので、列数は増えても大丈夫なやり方の方がいいです。 COUNTIFで重複個数を出すと、「う」が複数回出てくるので、重複の個数が増えてしまい困っています。 もしかしたら不可能かもしれませんが、どなたかお知恵をお貸しください。 よろしくお願いいたします。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.1

=SUMPRODUCT((COUNTIF(A1:C5,D1:D5)>0)*1)

tasuke23
質問者

お礼

迅速な回答ありがとうございます。 まさに理想の答えでした。

その他の回答 (3)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.4

何個?というのは問題でなくて、どうやって求めるか、アルゴリズムの問題では?。関数使うことがすべてでないです。 VBAも学ぶこと。 A1からC5までセルの値を順次チェックできるので、制限条件に矛盾なければ求まるし、行列が増えても位置が違っても対応できます。 条件つきということは何かの課題ですか?。 また、 じゃあVBAコードを教えて、としないこと。 考えてやりたい人にコード教える方も悪いんですが。やり方しだいで力のつき方変わります。 VBAで対象範囲のセルを判断してください。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 条件に不明な点が有りますので、補足して頂く様、御願いします。 (1)同じ行に複数個の重複が有る場合には、何個とカウントするのでしょうか?  例えば、    A列 B列 C列 D列 1行目 あ い あ あ という様な場合、1行目だけで2個とカウントするのでしょうか、それとも、1個とカウントするのでしょうか? (2)異なる行に重複が有る場合には、カウントに入れるのでしょうか、それとも、入れないのでしょうか?  例えば、    A列 B列 C列 D列 1行目 あ い う え 2行目 か き え け 3行目 さ け し お 4行目 お ち つ て 5行目 な て ぬ あ という様な場合、5個とカウントするのでしょうか、それとも、0個とカウントするのでしょうか? (3)D列のセルと重複する場合のみをカウントするのでしょうか?  例えば、    A列 B列 C列 D列 1行目 あ あ あ い という様な場合、1行目だけで1個、3個、0個の何れとカウントするのでしょうか? (4) >・列の数はだんだん増えてくるので、列数は増えても大丈夫なやり方の方がいいです。 とありますが、行ではなく列が増えるという事は、質問文中の表を例にした場合、1列増えると、E1~E5の範囲が付け加わると考えれば宜しいのでしょうか? (5)列が増えた場合、どの列のセルと重複する個数をカウントするのでしょうか?  例えば、    A列 B列 C列 D列 E列 1行目 あ い う え お 2行目 か き く け か 3行目 さ し す せ し 4行目 た ち つ て と 5行目 な に ぬ ぬ の という様な場合、2行目と3行目において、E列のセルと重複するセルが存在しているため2個とカウントするのでしょうか、それとも、5行目において、D列のセルと重複するセルが存在しているため1個とカウントするのでしょうか?

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

初心者は >・マクロ、計算用のセルは使用しない 配列数式は使用しない など勝手な条件をつけて質問しているが、課題によってはVBAなど使わないと出来ないか、複雑になるものもあるのだ。 回答者をテストしているコーナーではないのだから、関数などでは難しくなるかどうか判別できる力をつけてたり、VBAでも勉強して対処すべきだ。 エクセル関数で出来るこなど知れている。計算以外の検索による抜き出しなどは、エクセル関数の本来の機能ではない。 使えばかろうじてできるということもあるが。 エクセル関数は多セル対多セルをチェックするズバリの関数などない。 ーーー 例データ A列   B列     C列 a s aa b t dd c l ff d d b e b ss s x dd r e d f g o ーー =SUM(IF(NOT(ISERROR(MATCH(A1:B8,$C$1:$C$8,0))),1,0)) SHIFT+CTRL+ENTER(配列数式) 結果 4(b、d、b、dの4つ) など何かヒント(改良して目的達成)にならないか考えてみたら。 なお、MATCH関数は検索表の方(第2引数)は複数列は指定できない関数。

関連するQ&A

  • エクセルでの列と列の比較、重複データ個数抽出

    すいません。どなたか教えてください。 今、エクセル2003を使用しているのですが、ある条件でデータの個数が抽出出来ません。 お知恵をお貸しください。   A列 B列 1 あ   あ 2 い   う 3 う    い 4 え    5 お   か A列とB列を比べると、「あ、い、う」の3つのデータが重複しています。 そこで、一つのセルで3個とい値を返したいです。 条件として、 ・計算用のシートや別セルを使わずに、例えば、C1などの1つのセルの中で関数を使用して個数を出したいです。 ・できたらマクロも使用しないでやりたいです。 ・数字ではなく、文字列の比較で、空白行もあります。 やはり、列同士の比較は一つのセルの中でやることは不可能なのでしょうか? どなたかよろしくお願いいたします。

  • エクセルで文字列の個数を数える

    ある範囲のエクセルデータから決まった文字列の個数をカウントする関数の使い方が判れば教えてください。 例えば、A1からH200までのデータより、”リンゴ”という文字列が何個あるかカウントしたいのですが。 COUNTIF(A1:H200,"*リンゴ*")とすると”リンゴ”という文字列が含まれるセルの個数は出たのですが、”リンゴ”という文字列が複数含まれるセルもあるので、”リンゴ”という文字列の個数とは 一致しないようなのです。 どなたか、よろしくお願いします。

  • 3っつの列の重複種類の個数抽出

    どなたかお知恵をお貸しいただけないでしょうか。 3列のデータで重複している種類がいくつあるかを出したいのですが、sumproductなどを使用しできるものなのでしょうか?   A  B  C  D 1 あ  う     え 2 い  い  あ  あ 3 う     あ 4 え     か   い 上記データ行列で、A列にあり、且つBかC列にあり、且つD列にある文字の種類を○個とだしたいのですが、可能でしょうか? 上記だと、「あ、い」が重複しているので、「2」と表示するような関数です。 論理的に言うと、 「A列 and (B列かC列) and D列」 と言うような状態です。 sumproductとcountifなどを駆使してできたらと思っているのですが、どなたかお知恵をお貸しください。 申し訳ございませんがよろしくお願いいたします。

  • 別ファイルの文字列の個数をカウントするには?

    下記のようにA列に文字列が入っているBファイルがあります。 Cファイルで上記A列の「1」を含むセルの個数を数えるために COUNTIFを使っているのですが 一度保存し開くと「#VALUE!」が表示されてしまいます。 どのようにしたらうまく行くのでしょう? ちなみに、Bファイルはいじれません。 また「1」以外の数字の個数も数える予定です。 今は【=COUNTIF(範囲,”*文字列*”)】という計算式を入れています。 A列 1 1.4(この.は小数点ではありません。) 3 2 2.3.4

  • 文字列の中からある文字の個数を調べるには?

    お世話になります。 abcdefga という文字列の中からaが何個あるのか調べる関数はありますでしょうか? http://www.yahoo.co.jp URLからスラッシュの個数を調べたいのですが。

  • エクセルで、文字列から検索し、結果を表示する

    あるセルに、(1)(2)(3)とか(2)(4)(7)というような丸数字の文字列が入っています。その中に、(2)があるかどうかを探し出し、結果を出したいのですが、思うような関数が見当たりません。 MATCHとかCOUNTIFでやってみたのですが、どうもうまくいきません。(1)(2)(3)はまとめて、”(1)(2)(3)”と認識されているようで、(2)があっても、結果は0と出てしまいます。 よい方法はありますか?

  • 文字列の集計

    添付のように、カンマでくぎられた文字列を集計するための 関数を教えてください。 =COUNTIF(D2,"=*a*)でやって失敗しました。 *データの個数を知りたいです。

  • Excel 列の中のユニークな文字列の個数を数える

    こんにちは。 Excel 2007を使っています。 A列に文字列(ABC12345のような)が入っています。 大抵は4個ほど重複しています。 ですので重複する文字列を1個と数えて ユニークな文字列が全部で何個有るか数えたいのですが どんな関数を組んだらよいかわかりません。 ご存じの方お教えください

  • 文字列の個数

    Microsoft Excel2002(XP)で質問ですが、ある範囲の中からA列が☆かつC列が▲の個数を表示させるような関数ってありますか?

  • セル内にある文字の個数を知りたい

    エクセル2002を使用してますが、セル内にある文字の個数を知りたいとき、どのような関数を使えばいいのでしょうか? たとえば、A1に「ABCAABACABAC」 という文字列があった場合、Aの個数を知りたいのです。 このとき結果をB1で表示させるにはどうすればいいのでしょうか? よろしくお願いします。

専門家に質問してみよう