• ベストアンサー

期間を指定しての合計の抽出方法

A表を基にB表の売上欄N2に商品毎に指定した期間の売上合計を抽出させたいのですがどのような数式にすればいいのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.6

>C1~I1は数値形式で1などと入力されてい書式設定で日にしています。 >M列は文字列として入力されています。 N2セルへ次の数式を入力して下へN5までコピーした結果が貼付画像のようになります。 尚、Excelのバージョンは2007以降でないとFERROR関数が使えないので数式の変更が必要になります。 =SUMPRODUCT(C$2:I$5,(B$2:B$5=K2)*(C$1:I$1>=SUBSTITUTE(MID(M2,FIND("/",M2)+1,2),"~","")*1)*(C$1:I$1<=IFERROR(MID(M2,FIND("/",M2,FIND("~",M2))+1,2),SUBSTITUTE(MID(M2,FIND("/",M2)+1,2),"~",""))*1)) この数式はB列とK列が同順でない場合に対する対応が可能になっています。

その他の回答 (5)

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.5

C1:I1には日付のシリアル値を入れて書式で「○日」にしてください。 あとはANo.3で良いはず。 但し、年を跨ぐと計算できません。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

データの説明が不足しています。 C1~I1の値は日付のシリアル値を表示形式の"d日"になっていますか? M列の月/日は文字列ですよね? M列には年数が無いのですが12/27~1/5のような集計は無いと言うことですか? 基本的にはSUMPRODUCT関数で集計できますが条件に合うセルにマークできないと目的通りの結果を得られませんのでセルデータの実体を知っていないと数式を組み立てられません。 上記の不明な点を明らかにしてください。

lastseven
質問者

補足

C1~I1は数値形式で1などと入力されてい書式設定で日にしています。 M列は文字列として入力されています。

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.3

取りあえず、M列の値は全部文字列として作ってみました。 P:Q列を作業列として使っています。 P2セルに↓の式を入れて下にコピー =LEFT(M2,FIND("~",M2&"~")-1)*1 Q2セルに↓の式を入れて下にコピー =IFERROR(RIGHT(M2,LEN(M2)-FIND("~",M2)),M2)*1 N2セルに↓の式を入れて下にコピー =SUMIFS(C2:I2,C$1:I$1,">="&P2,C$1:I$1,"<="&Q2)

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.2

補足願います。 M列の販売期間は日付が1つだけの場合も文字列でしょうか(商品Bの場合)? また、M列の販売期間を販売開始、終了の2つのセルに分けても良い?それとも現状のままが良い?

lastseven
質問者

お礼

すみません先程補足したのですが修正したくて。 M列は文字で入力されています。 セルは別けない方向で考えています

lastseven
質問者

補足

M列は日付形式で入力されています。 セルは別けない方向で考えています

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.1

添付図参照

関連するQ&A