- ベストアンサー
エクセルにて条件一致をカウントさせる
<データ> セルA セルB 1 qqq www 2 hhh uuu 3 mmm ooo 以下続く <条件> <結果> セルD セルE 1 qqq www 1 2 qqq ttt 0 使用関数 countif(A:B,D1:E1) ↑ 複数では出来ない 上の様な感じでセルA、Bにそれぞれ文字列(複数)が入っていて条件に当てはまる場合(セルD,Eと一致する場合) にカウントさせたいのですがカウントできません。 良い方法はないでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
作業列を二つ使う方法ですが。 G列に、 =A1&" " &B1 H列に、 =D1&" " &E1 を入れて、下へオートフィルします。&と&の間に” ”(スペース)を入れるのは、A,Bが小野田と原、小野と田原などの場合を区別するためです。スペースの他、絶対使わないような記号もいいかもしれません。 I列などに、 =COUNTIF($G:$G,$H1) を入れて下へオートフィルでいかがでしょう。 #3の方のご回答をもう一歩すすめて、 =COUNT(IF($A$1:$A$100=$D1,IF($B$1:$B$100=$E1,1))) を入れてShift+Ctrl+Enterで配列関数にして、下へオートフィルもよろしいかと思います。
その他の回答 (3)
- 78tch
- ベストアンサー率31% (50/157)
趣旨に合うか分かりませんが F列に =COUNT(IF(D$1:D$100="qqq",IF(E$1:E$100="www",1))) って入力して、ShiftとCtrlを押しながらEnterで配列数式にして(D:Dではうまく行かないようでした。)、ドラッグで {=COUNT(IF(D$1:D$100="qqq",IF(E$1:E$100="www",1)))} {=COUNT(IF(D$1:D$100="hhh",IF(E$1:E$100="uuu",1)))} {=COUNT(IF(D$1:D$100="mmm",IF(E$1:E$100="ooo",1)))} 以下続く っていう風にするのはどうでしょう。 セル参照で文字列比較がうまくいかないようで、A列、B列が頻繁に変更される場合ちとつらいですが。
お礼
お礼が遅くなってしまい申し訳ありませんでした。 netに繋げなくなってしまっていたもので... おかげさまで無事にカウントできました。 配列数式って初めて目にしました。 これも勉強しなくては... どうもありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
(データ例)A1:C10に コード1 コード2 属性 aaa xxx 2 bbb yyyy 3 aaa zzz 5 ddd uuuuu 6 eeeee vvv 3 aaa xxx 4 ggg ttt 1 aaa xxx 1 eeeee vvv 1 (連結文字列) 私製関数haba()を作る(下記注)。空き列をD列とし、中間データ的に 使う。 D2に=haba(A2)&haba(B2)をいれD10まで複写。 D2:d10は下記となる。(フォントをPのつかないもので表示した方がわかりやすい。) aaa xxx bbb yyyy aaa zzz ddd uuuuu eeeeevvv aaa xxx ggg ttt aaa xxx eeeeevvv (検索データ例)A12:B14にセット aaa xxx aaa zzz eeeee vvv C12に =COUNTIF($D$1:$D$10,haba(A12)&haba(B12))といれ C14まで複写する。 (結果)C12:C14は 3 1 2 (注) VBEの標準モジュールに下記をコピーし貼りつける。 Function haba(a) s = " " Mid(s, 1, Len(a)) = a haba = s End Function 上記コード1、2の最大幅を5と設定した。 7桁ならs = " "の””内を7桁スペース(半角全角 適当に)にする。
お礼
お礼が遅くなってしまい申し訳ありませんでした。 netに繋げなくなってしまっていたもので... おかげさまで無事にカウントできました。 vbeの使い方が解らないので覚えてから 挑戦してみます。 どうもありがとうございました。
- diashun
- ベストアンサー率38% (94/244)
セルF1に式「=IF(A1&B1=D1&E1,1,0)」を記述し、必要な行数分下へコピーします。 F列の最後のセルのひとつ下に「=SUM(F1:FXX)」(XXはF列の合計する最後のセル」。 COUNTIFは使っていませんが、単純に出来る方法ですがいかがでしょうか? どうしてもCOUNTIFを使うならその旨補足にどうぞ。
お礼
お礼が遅くなってしまい申し訳ありませんでした。 netに繋げなくなってしまっていたもので... おかげさまで無事にカウントできました。 COUNTIFしか思い浮かばなかったのですが 色々とやり方があるんですね(^^ 勉強しなきゃいけません。 どうもありがとうございました。
お礼
お礼が遅くなってしまい申し訳ありませんでした。 netに繋げなくなってしまっていたもので... おかげさまで無事にカウントできました。 文字がくっつかないようにするにはこうやって スペースをいれればいいわけですか... う~ん...えくせる初心者な自分... べ、勉強してきます。 どうもありがとうございました。