[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『COUNTIF ?』(PONTA)
いつもお世話様です。 下記表でA列で"保守"と"修理"を含むB列の集計をC1に行いたいのですが 作業列を使用しないで集計したく、過去ログを検索しましたが 解決できませんでした。お力を貸してください。
[A] [B] [C] [1] TV保守 112 2 6 [2] りんご335 4 [3] ビデオ保守費用7 3 [4] みかん121 7 [5] 机修理代 1 ・ ・ ・ ・ ・ ・
A B C D 1 TV保守112 2 保守 5 2 りんご335 4 修理 8 3 ビデオ保守費用7 3 4 みかん121 7 5 机修理代 8
D1=SUMIF($A$1:$A$10,"*"&C1&"*",$B$1:$B$10) ★下にコピー
または、 D1=SUMIF($A$1:$A$10,"*保守*",$B$1:$B$10)
(Maron)
(Maron)さま ありがとうございます。勉強になりました。 追加の質問で恐縮なのですが、F列に担当者ごとの集計を することは可能でしょうか?(PONTA) [A] [B] [C] [D] [E] [F] [1] TV保守 112 2 鈴木 鈴木 2 [2] りんご335 4 山田 山田 4 [3] ビデオ保守費用7789 3 中村 中村 8 [4] みかん121 7 鈴木 [5] 机修理代 1 山田 [6] ggg保守ffff 5 中村 [7] 修理uuu 3 山田 [8] りんごrrr 2 鈴木
E列の担当者は入力済みという時点から開始して セル数を数えるなら、=COUNTIF($C$1:$C$8,E1) 数値を合計するなら、=SUMIF($C$1:$C$8,E1,$B$1:$B$8) となると思うのですが、お書きの結果と計算結果が異なるので 何をなさりたいかが不明です。 (Hatch)
やぼったい式になりましたが、一例ということで....。
F1=SUMPRODUCT(ISNUMBER(FIND("保守",$A$1:$A$8,1))*($C$1:$C$8=$E1)*$B$1:$B$8) +SUMPRODUCT(ISNUMBER(FIND("修理",$A$1:$A$8,1))*($C$1:$C$8=$E1)*$B$1:$B$8)
で下行へコピー。 (SS)
こういうことでしょうか? E1 =IF(SUM(IF(LEN($C$1:$C$20),1/(COUNTIF($C$1:$C$20,$C$1:$C$20))))<ROW(A1),"", INDEX($C$1:$C$20,SMALL(IF(LEN($C$1:$C$20),IF(MATCH($C$1:$C$20,$C$1:$C$20,)=ROW($A$1:$A$20),ROW($A$1:$A$20),""),""),ROW(A1)))) ↑配列数式 Ctrl + Shift + Enter で、確定 { 数式 }となればOK。 F1 =IF(E1="","",SUMPRODUCT((LEN(A$1:A$20)<>LEN(SUBSTITUTE(SUBSTITUTE($A$1:$A$20,"保守",),"修理",)))*($C$1:$C$20=E1)*$B$1:$B$20)) 以下コピー (キリキ)(〃⌒o⌒)b
なるほど。。。2条件での合計でしたか (-_-;) (Hatch)
(SS)さま(キリキ)さま ありがとうございます。どちらの方の数式でも意図した結果となりました。(PONTA)
上記に関連する新たな質問なのですが、A列の文字列に"修理"と"保守"両方含んでいる場合に C11:E13の結果となるように集計するには、どのような数式を入れれば良いでしょうか? F2には(キリキ)さまご教示の =IF(E1="","",SUMPRODUCT((LEN(A$1:A$20)<> LEN(SUBSTITUTE(SUBSTITUTE($A$1:$A$20,"保守",),"修理",)))* ($C$1:$C$20=E1)*$B$1:$B$20))を使わせていただきました。 応用して出来ないかといろいろ試しましたが、私には無理でした。どなたかご教示願えませんか? (PONTA)
[A] [B] [C] [D] [E] [F] [1] TV保守 112修理 2 鈴木 鈴木 2 [2] りんご335 4 山田 山田 4 [3] ビデオ保守費用7789 3 中村 中村 8 [4] みかん121 7 鈴木 [5] 机修理代 保守 1 山田 [6] ggg保守ffff 5 中村 [7] 修理uuu 3 山田 [8] りんごrrr 2 鈴木 [9] [10] <集計> 鈴木 山田 中村 [11] 修理だけを含む 0 3 0 [12] 保守だけを含む 0 0 8 [13] 保守と修理の両方を含む 2 1 0
こんな感じではいかがでしょう? 作業列を使用する方法です。 H1 =SUMPRODUCT(COUNTIF(A1,{"*修理*","*保守*"})*({10,1})) H8 まで、以下コピー C11 =SUMPRODUCT(($H$1:$H$8=10)*($C$1:$C$8=B$10),$B$1:$B$8) C12 =SUMPRODUCT(($H$1:$H$8=1)*($C$1:$C$8=B$10),$B$1:$B$8) C13 =SUMPRODUCT(($H$1:$H$8=11)*($C$1:$C$8=B$10),$B$1:$B$8) 各E列までコピー (キリキ)(〃⌒o⌒)b
(キリキ)さま ありがとうございます。 名前を参照する部分 =B$10 を =C$10 にしてうまく集計できました。 COUNTIFの使い方も大変勉強になりました。 (PONTA)
おっと、、、 セル番地が違っていましたね^^; (キリキ)(〃⌒o⌒)b
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.