- ベストアンサー
エクセルの計算式について教えてください
エクセルの計算式について教えてください A列にはA~Zまでのアルファベットがランダムに並んでいます。 B列には1~9間での数字がランダムに並んでいます。 C-3 の数 (つまりA列がCでB列が3) がいくつあるかカウントさせる式を作りたいのです。 エクセルでは基本的なことかもしれませんが、まだ十分理解していません。何かエクセル関数理解のお勧めのサイトがあればついでに教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
=SUMPRODUCT((A$1:A$1000="土")*(B$1:B$1000="山田")) でやってみましたが正常に検索されました。 jiaojiaowoさんのでは0となるというのでしたら、ひょっとして「完全一致」してないのではないですか? B列の人名に「山 田」とか「 山田」とか「山田 」のようにスペースが入っていたり「山田太郎」とかの部分一致では検索されません。
その他の回答 (4)
- merlionXX
- ベストアンサー率48% (1930/4007)
No3です。 > A列B列(無限)の時の表示の場合はどうなるのでしょうか。 この関数は、残念ながら列全体を指定することはできません。 =SUMPRODUCT((A2:A65536="C")*(B2:B65536=3)) のように範囲を指定することになります。
補足
A列に月火水木金土日 B列に人名が10名ランダムに1年分入っていて、 土曜日の山田さんの回数を求める式として、 =SUMPRODUCT((A$1:A$1000="土")*(B$1:B$1000="山田")) を作りました。 が、常に表示が0です。他の人名や曜日に変えても0です。何がおかしいのでしょうか。教えていただければ幸いです。
- merlionXX
- ベストアンサー率48% (1930/4007)
仮にデータが10行目までであれば =SUMPRODUCT((A1:A10="C")*(B1:B10=3)) でOKです。
お礼
ありがとうございます。スマートで応用が利きそうなコマンドで参考になります。 A列B列(無限)の時の表示の場合はどうなるのでしょうか。
- maniada55
- ベストアンサー率40% (160/398)
未熟者なりに思いついた方法でスマートではないですがどうでしょうか。 ・C列1行に =IF(A1="c",IF(B1=3,1,0),0) といれてA,B列の一番下までカバーするようにコピーする ・任意のセルに =SUM(C1:C65535) といれて出た数=存在するCと3が隣合う数
- hidechan2004
- ベストアンサー率23% (464/1992)
一発でやるのは難しいので、 C列などに、=CONCATENATE(A1,B1)といれて、 結合させてから、C列をCOUNTIFなどで数えてはいかがですか?
補足
どうしてうまくいかないかわかりました。 月、火、水、、が、文字列ではなくて、日付表示の一つの形式としての 月火水、、だったのです。 じゃあ、どうすればよいか、、も実はよくわからないのですが、いずれにしてもうまくいかない理由がわかりました。