Excel:条件に一致した合計を求める

A B C D E F G H 'コメント
1 date item count --- if book if pen 土日祝日 休日book タイトル
2 5月1日 book 3 --- 3 FALSE FALSE E2 '=IF($B2="book",$C2)' そのままF2にコピー&EとF列を下にコピー
3 5月2日 pen 4 --- FALSE 4 FALSE
4 5月3日 pen 10 --- FALSE 10 FALSE
5 5月4日 book 1 --- 1 FALSE 1
6 5月5日 book 3 --- 3 FALSE 3
7 5月6日 book 2 --- 2 FALSE 2
8 5月7日 book 1 --- 1 FALSE FALSE
9 5月8日 pen 4 --- FALSE 4 FALSE
10 5月9日 pen 2 --- FALSE 2 FALSE
11 5月10日 pen 3 --- FALSE 3 FALSE
12
13 pen 23 10 23 6 C13 '=SUMIF($B$2:$B$11,"pen",$C$2:$C$11)'
14 book 10 上の行をコピーして、bookに変更
15 10 23 E15 '=SUM(E$2:E$11)' そのまま右にコピー

・単純な加算合計の場合は sumif を使います。

・条件を加えたいときは if bookのような列を設けて、そこで特定の列ごとに(仕入先、納品先、格納場所など)集計したい条件を追加します。

例:土日祝日のみを抽出したい場合、G列を新設(A列の右が理想)、if(and($G2="○",$B2="book"),$C2)

・'FALSE' を表示したくない場合は、ifの最後に,""の3文字を追加します。if(and($G2="○",$B2="book"),$C2,"")

・別シートから条件を抽出して列を作成する方法の一例

物品コード列の開始から終了の範囲内で各列固有日を比較して、同一か以前で最大の日の行にある、データ値を持ってくる例です。

(追加説明:自己シートの物品コードと日付型データ格納列から索引シートの特定位置からデータをとる場合)

=IF(OR($V2="-",$V2="",$R2="")

,""

,VLOOKUP($V2

,OFFSET('索引シート'!$A$1:$D$1

,MATCH($R2,'索引シート'!$A$1:$A$300,0)-1

,5

,MATCH($R2,'索引シート'!$A$1:$A$300,1)-MATCH($R2,'索引シート'!$A$1:$A$300,0)+1

)

,3

,FALSE

)

)

上記をセルにドロップするとスペースが消えますが、机上設計=コーディング時には上記の様に段下げすると時間の短縮になります。

なお、上記はHTMLのスペースルールを回避するために全角スペースを一段あたり2個使っています。


あるあるインターネット・ホームページへ戻る


Valid XHTML 1.1

正当なCSSです!