[[20080223022052]] 『COUNTIF ?』(PONTA) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『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.