みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルにて条件一致をカウントさせる

<データ>
 セル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と一致する場合)
にカウントさせたいのですがカウントできません。

良い方法はないでしょうか?

投稿日時 - 2003-12-23 09:50:21

QNo.736597

暇なときに回答ください

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

作業列を二つ使う方法ですが。

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で配列関数にして、下へオートフィルもよろしいかと思います。

投稿日時 - 2003-12-24 23:04:48

お礼

お礼が遅くなってしまい申し訳ありませんでした。
netに繋げなくなってしまっていたもので...
おかげさまで無事にカウントできました。
文字がくっつかないようにするにはこうやって
スペースをいれればいいわけですか...
う~ん...えくせる初心者な自分...
べ、勉強してきます。
どうもありがとうございました。

投稿日時 - 2003-12-27 22:43:43

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

趣旨に合うか分かりませんが
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列が頻繁に変更される場合ちとつらいですが。

投稿日時 - 2003-12-23 18:02:37

お礼

お礼が遅くなってしまい申し訳ありませんでした。
netに繋げなくなってしまっていたもので...
おかげさまで無事にカウントできました。
配列数式って初めて目にしました。
これも勉強しなくては...
どうもありがとうございました。

投稿日時 - 2003-12-27 22:40:17

ANo.2

(データ例)A1:C10に
コード1コード2属性
aaaxxx2
bbbyyyy3
aaazzz5
ddduuuuu6
eeeeevvv3
aaaxxx4
gggttt1
aaaxxx1
eeeeevvv1
(連結文字列)
私製関数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にセット
aaaxxx
aaazzz
eeeeevvv
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桁スペース(半角全角
適当に)にする。

投稿日時 - 2003-12-23 11:53:17

お礼

お礼が遅くなってしまい申し訳ありませんでした。
netに繋げなくなってしまっていたもので...
おかげさまで無事にカウントできました。
vbeの使い方が解らないので覚えてから
挑戦してみます。
どうもありがとうございました。

投稿日時 - 2003-12-27 22:20:39

ANo.1

セルF1に式「=IF(A1&B1=D1&E1,1,0)」を記述し、必要な行数分下へコピーします。
F列の最後のセルのひとつ下に「=SUM(F1:FXX)」(XXはF列の合計する最後のセル」。
COUNTIFは使っていませんが、単純に出来る方法ですがいかがでしょうか?
どうしてもCOUNTIFを使うならその旨補足にどうぞ。

投稿日時 - 2003-12-23 10:14:22

お礼

お礼が遅くなってしまい申し訳ありませんでした。
netに繋げなくなってしまっていたもので...
おかげさまで無事にカウントできました。
COUNTIFしか思い浮かばなかったのですが
色々とやり方があるんですね(^^
勉強しなきゃいけません。
どうもありがとうございました。

投稿日時 - 2003-12-27 22:18:20

あなたにオススメの質問