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

あるあるのホームページへ戻る