- ベストアンサー
COUNTIFの応用?もしくはそれ以外の方法?
2つのフィールド例えばAとBがあって AのフィールドにWという文字が入っていて、Bのフィールドに±というデータが入っているのが何件あるのか一つのセルに返したい時はどうすればよいのでしょうか。 これがAのフィールドにWという文字がはいっているのがいくつなのか一つのセルに返す時には、COUNTIF関数を使えばいいのは分かるのですが、二つのフィールドからそれぞれの条件(例では、AのフィールドのW,Bのフィールドの±)を同時に満たすもの数を一つのフィールドに返すには、COUNTIFを使ってできるのでしょうか?それとも他の関数、またはACCESSなどの他のソフトでしかできないのでしょうか。宜しくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
#4さんの補足に対する回答です。 imogasiさんが答えられると思うのですが、追加アドバイスもありましたので回答させて頂きます。 >FとFcとFCを区別させて使用したいのですが Fについては、普通に記述してもFcとは区別されるように思うのですが、どのようなデータを使用しておられるのでしょうか? FcとFCの区別については、 =COUNT(IF(EXACT(A2:A24,"Fc"),1,"")*IF(EXACT(B2:B24,"Test1"),1,"")) で[Ctrl]+[Shift]+[Enter](配列数式)でできると思います。 EXACT関数は、大文字、小文字を区別して文字列を比較します。 ちなみに、 =SUMPRODUCT((EXACT(A2:A24,"Fc"))*(EXACT(B2:B24,"Test1"))) でも同じ結果が得られると思います。 こちらは、普通の関数ですので、入力後[Enter]のみです。 少し前は、配列数式の勉強をしていたのですが、 今は、SUMPRODUCTの勉強をしています。 ちょっと見、わかりづらい気もしますが、こちらの方も覚えておいて損はないと思います。 #3の方がこの方法を提示していますが、そちらの方には補足がなかったので、 一応、#3さんの補足として回答させて頂きました。
その他の回答 (5)
- taisuke555
- ベストアンサー率55% (132/236)
>なにかお勧めの本等ありますか? すいません。あまり本を買ったことがありませんので、 お勧めできるような本の知識はありません。 参考書等は、それぞれ独自の使い方は説明していますが、 複数の関数を組み合わせた例というのは、あまり載っていないと思います。 自分のやりたいことをピンポイントでひらめくのには、 いろいろな関数を知っているしかないと思います。 私の参考書は、ここの質問&回答ですね。 質問に対し、自分ならこのように作るという回答を考えて 他の回答者は、どのように回答するかを確認しています。 配列数式も、SUMPRODUCT関数もこちらで知りました。 過去にも何度も登場していますので、参考になると思います。 あまり参考にならなければ、すみません。
- imogasi
- ベストアンサー率27% (4737/17069)
(テストデータ)A1:C13 地区 地区2 計数 東京 福生 1 名古屋 緑区 22 大阪 堺 34 横浜 緑区 56 京都 左京 5 大阪 豊中 6 福岡 大牟田 7 仙台 青葉区 8 大阪 堺 7 奈良 橿原 6 大阪 池田 6 名古屋 緑区 2 (関数式)配列数式を入れる。どこのセルでも良いが =COUNT(IF(A2:A13="大阪",1,"")*IF(B2:B13="堺",1,"")) と入れて、左手指でCTRLキーを押しつつShiftキーを押して、右手指でEnterキーを押す。前後に{と}が付けられるのが数式バーで確認できる。 (結果)2と出る。 A,B列を適当に変えて、該当件数が変化する様を確認してください。
補足
すばらしい答えをありがとうございます。これこそ私の求めていた物であり、感激です。自分の本や資料にはこの様な関数の使い方はのっていなかったのですが、自分でもこんな使い方してみたいです。なにかお勧めの本等ありますか? ぜいたくかもしれませんが、せっかくなのでもう一つお聞きしたいのですが、データとしてアルファベットをつかっているのですが、FとFcとFCを区別させて使用したいのですが、教えていただいたやり方だとFをカウントするときに、Fが含まれているFcとFCも同時にカウントされてしまうのと、Fcをカウントしようとすると、FCも同時にカウントされてしまいます。FはFだけ、FcはFcだけ、FCはFCだけでうまくカウントさせる方法なり、関数なりあるのでしょうか。上の答えを頂いただけでも充分満足なのですが、他にも目からうろこ的なテクニックあるのかなと思って聞いてみました。よろしくお願いいたします。
- telescope
- ベストアンサー率54% (1069/1958)
A列が「W」で、B列が0でないものの合計なら、 =SUMPRODUCT((A2:A10="W")*(B2:B10<>0)) で求められます。 詳しくは、参考URLをご覧ください。
- gura_
- ベストアンサー率44% (749/1683)
c列を作業用に使えば出来ますが、 例えばa1:b10のデータ領域のデータに対し、 c1を =IF(AND(A1="w",B1="±"),1,0) とし、c10までコピーします。 次に、表示したいセルに =SUM(C1:C10) と記載します。
A,Bの検索範囲のセル数をカウントして、それから同じ範囲の空白セルをカウントし引き算をすれば、ですがWと±以外のものがなければ簡単です。 Wだけカウントし、別に±だけカウントしてそれを一つのセルへまとめることはできないのですか? はっきりした意味がわからないので自信なしです・
お礼
ありがとうございました。やっぱりやり方があるのですね。ようやく求めていたものが完成し、とても感謝しております。 配列数式やSUMPRODUCTの勉強をしておられるということですが、なにかお勧めの本等ありますか?こういう関数がスラスラ出てくるように私も勉強してみたいです。 ともかく、いろいろありがとうございました。