- ベストアンサー
エクセルの関数(COUNTIF?)
エクセルに下の表があった場合なんですが、 ____A_B_C (1) 1 2 3 (2) 3 1 5 (3) 1 3 4 (4) 2 3 1 (5) 1 3 4 =2 (1行目、4行目が該当する) と各セルに入っていた場合に、 行ごとに"1"と"2"が両方はいっている数を 求めたいのですが、どうやってかけばよいでしょうか? COUNTIF関数を使うような気がしますが、 式の書き方がわかりません 又、同じ行には絶対に同じ数字は入りません よろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは =SUM((MMULT((A1:C5=1)*1,{1;1;1})>0)*(MMULT((A1:C5=2)*1,{1;1;1})>0)) とか =SUMPRODUCT(((A1:A5=1)+(B1:B5=1)+(C1:C5=1)>0) *((A1:A5=2)+(B1:B5=2)+(C1:C5=2)>0)) とか =COUNT(FIND("-1-","-"&A1:A5&"-"&B1:B5&"-"&C1:C5&"-") +FIND("-2-","-"&A1:A5&"-"&B1:B5&"-"&C1:C5&"-")) をCtrl+Shift+Enterでいかがでしょう?
- 参考URL:
- http://www2.odn.ne.jp/excel/
その他の回答 (4)
- nishi6
- ベストアンサー率67% (869/1280)
A1:C5を調べる例です。 = SUM(IF(ISERROR(FIND("-" & 1 &"-","-"&A1:A5&"-"&B1:B5&"-"&C1:C5&"-") +FIND("-" & 2 &"-","-"&A1:A5&"-"&B1:B5&"-"&C1:C5&"-")),0,1)) (上の式は1つにつながっています。長くなるので2行で書きました。) と数式バーに入力して、Ctrl+Shift+Enter として、配列数式として登録します。 配列数式として登録できれば、{ }で囲まれた算式になります。 検索文字列を作り出して("-"&Ai&"-"&Bi&"-"&Ci&"-")、FINDで検索し、『-1-』と『-2-』が両方あれば、エラーにならないので1として、それを加算します。 "-"を使っているのは、個々の数字を独立させるためです。『12』、『21』、『112』などを区別したいためです。 質問を例にすると、 -1-2-3- -3-1-5- -1-3-4- -2-3-1- -1-3-4- という文字列群から、-1-と-2-を両方含む文字列のカウントになります。 数式バーからの、Ctrl+Shift+Enterの登録はCtrlキーとShiftキーを押したままEnterキーを押します。
お礼
御回答ありがとうございました。 早速試して見たいと思います。
- KODAMAR
- ベストアンサー率26% (267/1006)
こちらはいかがですか?
お礼
URL参考にさせていただきます。 ありがとうございました。
1の場合と2の場合とそれぞれ別々にCOUNTIFで数えて、それをSUMで足すのではだめでしょうか? 他のやり方もあるような気もしますが・・・ 私も知りたいです。 No1の方の補足要求に対する答えは、=2というのは、(1)と(4)で2件、という答えを導き出したい、という意味だと思います。
お礼
御回答ありがとうございます。 私も別のセルを使って2段階で処理しようと考えましたが、 何か方法がありそうな気がして質問させていただきました。
- tamazo-
- ベストアンサー率60% (35/58)
=2 (1行目、4行目が該当する) と各セルに入っていた場合に、・・・ の部分がよく分からないのですが、=2というのはどこかの セルに入っているということですか? もし=3と入っていたら=2の時とは違う答えを求めたいということですか? 答えをD列に表示させるとして、 ____A_B_C_D (1) 1 2 3 2 (2) 3 1 5 1 (3) 1 3 4 1 (4) 2 3 1 2 (5) 1 3 4 1 としたいということでしょうか? (これだと”=2と各セルに入っていた場合”という意味とのつながりがよく分かりません)
お礼
説明が下手ですいません。 #2の方が言われている内容で正しいです。
お礼
コピペして試して見たら問題なく出来ました。 上記関数自体をしりませんでしたが、 ヘルプで検索したらきちんと出てきました、 まだまだ勉強不足のようです。大変助かりました。 御回答ありがとうございました。