• ベストアンサー

条件付きの合計について

下記の画像をご覧ください。 そこから、文字列を含んだ、12/1売上~12/5売上の合計のように 条件付きで、求める事はできますか?? ポイントは売上という文字列を抽出できる事です。 ●12/1売上~12/5売上  答え300 ●12/6売上~12/10売上 答え300 ●12/11売上~12/15売上 答え300 答えを求める、関数を知りたいです。 ご存知の方がいらっしゃいましたら、宜しくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

=SUMPRODUCT((RIGHT($A$2:$A$16,2)="売上")*(DATEVALUE(MID($A$2:$A$16,1,LEN($A$2:$A$16)-2))>=DATEVALUE("12/1"))*(DATEVALUE(MID($A$2:$A$16,1,LEN($A$2:$A$16)-2))<=DATEVALUE("12/5")),$B$2:$B$16) 日付の部分が 12/01,12/02のような表示なら =SUMPRODUCT((RIGHT($A$2:$A$16,2)="売上")*(MID($A$2:$A$16,1,LEN($A$2:$A$16)-2)>="12/01")*(MID($A$2:$A$16,1,LEN($A$2:$A$16)-2)<="12/05"),$B$2:$B$16)

その他の回答 (4)

回答No.5

>>ポイントは売上という文字列を抽出できる事です。 どういう意味でしょうか? 課題? >●12/1売上~12/5売上  答え300 =SUM(SUMIF($A$2:$A$16,"12/"&{1,2,3,4,5}&"売上",$B$2:$B$16)) >●12/6売上~12/10売上 答え300 =SUM(SUMIF($A$2:$A$16,"12/"&{6,7,8,9,10}&"売上",$B$2:$B$16)) >●12/11売上~12/15売上 答え300 =SUM(SUMIF($A$2:$A$16,"12/"&{11,12,13,14,15}&"売上",$B$2:$B$16))

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

今後の為にA列を2列に分割された方が数式等が簡単になるのでお勧めします。 (1)仮にD2に=LEFT(A2,LEN(A2)-2)*1、E2に=RIGHT(A2,2)→D2:E2を選択して下方向にコピー (2)B列を選択→右クリックで挿入→D:E列を選択しコピー→A列を選択→右クリックで形式を選択して貼り付け→値を選択→OK ●12/1売上~12/5売上:=SUMPRODUCT((A2:A100>="12/1"*1)*(A2:A100<="12/22"*1)*(B2:B100="売上")*C2:C100)  又、エクセル2007以上ならば、次の様な関数が便利です。  =SUMIFS(C2:C100,A2:A100,">=12/1",A2:A100,"<=12/22",B2:B100,"売上") 因みにA列の表示形式が標準になりますのでセルの書式設定で任意の日付形式を選択して下さい

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

例示のように、開始日が12/1で5日ごとに集計するならB2セルに以下のような関数を入力して下方向にオートフィルするのが簡単です。 =SUMPRODUCT((RIGHT($A$2:$A$100,2)="売上")*(LEFT($A$2:$A$100,LEN($A$2:$A$100)-2)*1>="12/1"+(ROW(A1)-1)*5)*(LEFT($A$2:$A$100,LEN($A$2:$A$100)-2)*1<"12/1"+ROW(A1)*5)*$B$2:$B$100) 開始日がどこかのセルに入力されているなら「"12/1"」の部分をセル参照(絶対参照)にしてください。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

データの数が多くなりますとSUMPRODUCT関数などを使いますと動きが遅くなります。作業列などを使ってできるだけ分かりやすい関数を使って対応することでしょう。 例えばA列に12/1売上などの文字列が、また、B列にはその金額が入力されているとします。 そこでC列を作業列としてC1セルには次の式を入力して下方にオートフィルドラッグします。 なお、売上を対象として集計したい場合にはE1セルに売上と入力します。 =IF(ISERROR(FIND(E$1,A1)),"",SUBSTITUTE(A1,E$1,"")*1) 売上の合計期間を例えば12/1から12/5とする場合にはE2セルに12/1と、F2セルに12/5と入力します。同様に12/6から12/10とするのでしたら下の行に,3セルに12/6と、F3セルに12/10と入力します。 G1セルには合計金額とでも記し、G2セルには次の式を入力して下方にオートフィルドラッグしあす。 =IF(E2="","",SUMIF(C:C,">="&E2,B:B)-SUMIF(C:C,">"&F2,B:B))

関連するQ&A

専門家に質問してみよう