[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『件数カウントについて』(松子)
いつも参考にさせていただいております。 今回も、行き詰ってしまい・・・教えていただけないでしょうか?
下記のようなデータがあります。 その中で条件を満たしたものの、件数をカウントしたいと思っています。 カウントした列=【C列とD列の合計件数】です。アルファベットもあれば数字もあります。
条件とは・・・ @B列が【ゼロ以上】 AC列の【C・S・O以外】 B更に【C列がOの場合はD列の数字をプラス】したい というものです。 下記のデータで言うならば、 結果は=5件(KR+T+E+2) としたいのです。
【A】 【B】 【C】 【D】 【1】 りんご みかん ランク 【2】 100 WKR 【3】 112 WR 【4】 150 KR 【5】 105 S 【6】 130 O 2 【7】 160 C 【8】 90 T 【9】 85 P 【10】 120 WE 【11】 98 E
このような条件で件数カウントは出来ますでしょうか? ご伝授下さい。
(松子)
作業列使った方が簡単だと思います。 作業列がE2だとして、 =AND(ISNUMBER(B2),B2>=0,C2<>"C",C2<>"S",C2<>"O")*1+(C2="O")*D2 E2を下にフィル。 E列をSUMで計算。
SUMPRODUCTでも良いんですが、下にD列の条件分も追加しなければならないので止めました。 =SUMPRODUCT((ISNUMBER(B2:B11))*(B2:B11>=0)*(C2:C11<>"C")*(C2:C11<>"S")*(C2:C11<>"O")) BJ
横から失礼します。 =SUMPRODUCT((ISNUMBER(B2:B11))*(B2:B11>=0)*(C2:C11<>"C")*(C2:C11<>"S")*(C2:C11<>"O")) +SUMPRODUCT((B2:B11>=0)*(C2:C11="O"),D2:D11) 上記を任意のセルに入力でどうでしょうか。 ところで、回答を考えているときに、次ようなことに出会いました。 どなたかお教え願えませんか。 =SUMPRODUCT((ISNUMBER(B2:B11))*(B2:B11>=0)*(C2:C11<>"C")*(C2:C11<>"S")*(C2:C11<>"O")) のときは正確に5という値が得られましたが、 =SUMPRODUCT((B2:B11>=0)*(C2:C11<>"C")*(C2:C11<>"S")*(C2:C11<>"O")) では、B列の未入力セルもカウントしてしまうみたいで、7という値がかえってきてしまうのです。 どうしてでしょうか? (わかあゆ)
>=SUMPRODUCT((B2:B11>=0)*(C2:C11<>"C")*(C2:C11<>"S")*(C2:C11<>"O")) >では、B列の未入力セルもカウントしてしまうみたいで、7という値がかえってきてしまうのです。
何も入っていない空のセルは、0として扱われるから。 何も入っていないセルがA1だとして、B1に = A1 = 0 と、入れれば、Trueになります。 BJ
BJさん、ご教授ありがとうございました。 空なのに"0"ですか。 ISNUMBERでは、"0"と判断しませんね。このようなことがまだあるわけですね。 (わかあゆ)
こんにちは。 私も作業列を使うほうが分かりやすいと思いつつ、配列数式案です。
※「_」セルは未入力または"" [R/C] [A] [B] [C] [D] [E] [1] りんご みかん ランク _ 件数↓ [2] 100 _ WKR _ 5 [3] 112 _ WR _ 除外↓ [4] _ 150 KR _ S [5] 105 _ S _ C [6] _ 130 O 2 _ [7] _ 160 C _ _ [8] _ 90 T _ _ [9] 85 _ P _ _ [10] 120 _ WE _ _ [11] _ 98 E _ _
E2 {=SUM(ISNUMBER(B2:B11)*IF(COUNTIF(E4:E5,C2:C11),0,IF(C2:C11="O",D2:D11,1)))} ↑Ctrl+Shit+Enterで確定(配列数式) (コタ)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.