• ベストアンサー

Excel2007 複数条件の行数カウントできないでしょうが??

下のような条件の表の中で1の列が、1で始まり2の列がAから始まり、しかも3の列が10以上のような行数をカウントする事は、出来ないでしょうか? 出来れば、これを自動計算で各条件ごとに別シートにカウント表示したいのですが・・・    1   2   3 A  30  AB   5 B  12  AA   5 C  12  BC   10 D  25  BB   15 E  25  AC   10 F   ・   ・   ・ G   ・   ・   ・ H   ・   ・   ・ Excel初心者なので詳しく説明いただければ助かります。m(__)m

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

  • ベストアンサー
  • jo-zen
  • ベストアンサー率42% (848/1995)
回答No.1

以下のURLを参考にしてみてください。   http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/count.htm SUMPRODUCT関数を使えばいいかと思います。 なお、文字列がAから始まるということを条件式で表せば、"=A*" となります。この場合の「 * 」はワイルドカードと呼ばれ、何かしらの文字列を意味します。つまり、"=A*" ならば先頭がAで始まる文字列を意味します。

-ku-
質問者

お礼

ご回答ありがとうございます。 sumproduct関数の中でもワイルドカード使えますか?? 使い方が悪いのか、エラーが出てうまく使えませんでした。 教えていただいたHPを参考にいろいろ試してみます。 ヘルプ読めば読むほど迷宮に迷い込んで行くようだったので・・・・ ありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

問題例が初心者丸出しですよ。 ABC・・は列の番号として、行の番号は1,2,3・・とします。 質問は逆です。 -- (1)2007まで SUMPRODUCT (2)2007では(1)のほかに 3条件のCOUNTは、一般論としては、COUNTIFS関数が新設されそれが使えます。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/count01.html ほか、COUNTIFS関数で照会すれば多数出ます。 しかし本題の例では使えないでしょう。 条件は3つで A1:A100 Mid(A1:A100,1,1)="1" B1:B100 Mid(B1:B100,1,1)="B" C1:C100 " >10" なのですが、条件に関数がかけないようです。 範囲にもMid(A1:A100,1,1)のような関数は書けないようです。 ーー ただし別2列にMid(A1:A100,1,1やMid(B1:B100,1,1)を出しておけば COUNTIFSが使えるでしょう。 ーー 従って (1)SUMPRODUCT関数 (2)配列数式(少し高等なので記述省略) を使うほか無いようです。 ーーー 例データ A1:C6 30 AB 5 12 AA 5 12 BC 10 25 BB 15 25 AC 10 13 AD 23 E1:F5(手入力)  G列結果該当件数 1 A 1 1 B 0 2 A 0 2 B 1 3 A 0 G1は =SUMPRODUCT((MID($A$1:$A$100,1,1)=E1)*(MID($B$1:$B$100,1,1)=F1)*($C$1:$C$100>10)*1) と入れて下方向に式を複写。 結果 上記G列

-ku-
質問者

お礼

ご回答ありがとうございます。 たしかに・・・・ 初心者丸出しでお恥ずかしい限りです。(ρ_;) まだまだ、理解するには、ほど遠いようですが、少しずつ覚えていきたいと思います。><; ありがとうございました。

  • 134
  • ベストアンサー率27% (162/600)
回答No.2

一般的には、ABC…が列で 1,2,3…が行になりますかね。 ^^;) =sumproduct((left($a$1:$a$1000)="1")*(left($b$1:$b$1000)="A")*($c$1:$c$1000>=10)) または、 =SUM(IF(((LEFT($A$1:$A$1000)="1")*(LEFT($B$1:$B$1000)="A")*($C$1:$C$1000>=10)),1,"")) と入力して、Shift+Ctrlの状態で、Enterを押す というのではいかがでしょうか。 left(a,b)は、aの左からb文字分を取り出せ、という関数です。 2番目の関数は、配列数式といわれるものです。

-ku-
質問者

お礼

早速のご回答ありがとうございます。 さっそく、試してみました。 sumproductを使かうことで、うまくいきました。 ご回答を参考に、いろいろと条件を加えて試してみます。 大変参考になりました。 ありがとうございました。 ヘルプを見ながら、いろいろ試したつもりなのですがエラーが、出るばかりで脳みそが火を噴くかと思いました。 (T▽T)ノ

関連するQ&A