• ベストアンサー

配列どうしを比較し、重複セル数をカウントしたい

お世話になります。 列Aの配列と列Bの配列を比べ、 いくつ重複する値があるかをカウントしたいのですが  ※例えば   列A 列B   ○  △   △  ×   ■  ○  なら、答えは2コ(○と△) というふうに…  ※ちなみに、列A内に2回 ○が登場する、ということはないです。 関数ではどのような式になりますでしょうか? COUNTIF・配列数式など私なりに調べて組み合わせてみたりしたのですが ゴールにたどり着けませんでした。 ご存知の方、どうか教えてください…!

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.5

#02です 作業列を使わないで、かつB列にも重複がなければ任意のセルに =SUM(IF(ISERROR(MATCH(B1:B100,A1:A100,0)),0,1)) をペーストし Shift+Ctrl+Enter で入力してみて下さい (重複がある場合はもっと手を入れる必要があります)

noname#20420
質問者

お礼

えええ~!?すごい! どうも有り難うございます! さっそくやってみたところ、 何が悪いのか 値は 0 になってしまうのですが (Shift+Ctrl+Enterで{}はきちんとついてるのですが…  …あっ 実値が「#10」といった値なことと関係…ないか(TvT)) その後 時間の余裕を作れたので 明日にでもご提示くださった式を自分で解読してみます。 どうも有り難うございました。

その他の回答 (6)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.7

こんばんは。 今、あまり検証していませんので、間違えていたらすみません。 同じ種類のものは、1回としか数えません。 =SUMPRODUCT(NOT(ISERROR(MATCH(A1:A100,B1:B100,0)))*1) または、 >列A内に2回 ○が登場する、ということはないです。 なら、COUNTIF を使って、 =SUMPRODUCT((COUNTIF(A1:A100,B1:B100)>0)*1) も、可能かと思います。

noname#20420
質問者

お礼

こんにちは、お返事遅くなりまして申し訳ありません。 出来ました…! SUMPRODUCTってこういう風に使えるんですね…。 仕組みから勉強したいと思います。 どうも有り難うございました!

noname#20420
質問者

補足

Wendy02さん申し訳ありません、こちらの欄を借りさせてください。 その後、3名の方が教えてくれた方法で実現できました。 そのほかの方のご回答も参考に、勉強していきたいと思います。 断腸のおもいで、到着順で2名の方にポイント発行させていただきます… Wendy02さん本当にごめんなさい! 今後なにかご縁があったら そのときにまとめて御礼したく思いますm(><)m みなさま、大変お世話になりました。

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

=SUM(COUNTIF($B$1:$B$3,A1:A3)) を配列数式(SHIFT+CTRL+ENTER)で入力

noname#20420
質問者

補足

こんにちは、お返事遅くなって申し訳ありません。 ああっできました! こんなにシンプルに出来るなんて…。 皆さんにならってExcelを使いこなせるよう勉強したいです。 どうもありがとうございました!

  • process9
  • ベストアンサー率29% (81/271)
回答No.4

質問例なら、C列を使って以下のように式を入れてやればいいかな。 AとB列を入れ替えて(2回○が登場しない方をB列として) A B C 1 ○ △ =COUNTIF($A$1:$A$3,B1) 2 △ × =COUNTIF($A$1:$A$3,B2) 3 ■ ○ =COUNTIF($A$1:$A$3,B3) 4     =SUM(C1:C3)

noname#20420
質問者

お礼

こんにちは、回答を有難うございます。 実は私も質問してから作業列の方法は思いついたのですが(すみません(><;))、 でもそれも全く自信がなかったので、 サンプルを見せていただけて 助かりました! やっぱり作業列は必要なんでしょうか…。 どうも有り難うございました。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.3

>COUNTIF・配列数式など私なりに調べて組み合わせてみたりしたのですが 見落としてました。 どのような関数をくんでダメだったのでしょう?

noname#20420
質問者

補足

再度の補足要求、どうもありがとうございます。 ええと…笑わないでくださいというか笑ってくださいというか~、 ヘルプで見た知識を超単純思考で行き当たりばったり試しているだけで、 =COUNTIF(A範囲,B範囲) とか それを配列数式くくりしてみたりとか… VLOOKUPでもないし データベース関数でもないし…とアワアワしている状態です。 もう本当にお恥ずかしいかぎりなのですが、 都合で時間をかけられないもので、 もし可能であれば 実例を教えていただければ とても助かります。 わがまま申し上げて申し訳ありません。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

条件が曖昧なので補足をお願いします 1)A列のデータは重複がないということですが、B列のデータは重複はありますか?  重複がある場合それはどうカウントすればよいですか  (B列に○が2行あったら1個ですか2個ですか) 2)作業列は使用しても良いのですか? ダメですか?

noname#20420
質問者

補足

こんにちは、補足要求、どうも有難うございます。 情報不足で申し訳ありませんでした。 1)B列にも重複はありません。 2)ごめんなさい、作業列ありのものは何とか自力で作成したのですが   どーも不細工なので  (隣の作業列で1セルずつCOUNTIFして、それを全セルSUM)、   作業列なしの方法はないだろうかと甘い期待をしております。   もし作業列ナシが不可能であれば、   そのように教えてくださるだけでも とても助かります。 宜しくお願いします。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

COUNTIF関数では?

noname#20420
質問者

補足

はい、使うならCOUNTIF関数なのかなとは思うのですが 基本があやふやなせいか、 応用のしかたが分からなくて…。 (配列同士の場合) 大変恐縮ですが、 宜しければ実例をいただけると有難いです。

関連するQ&A

専門家に質問してみよう