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個使っています。