• ベストアンサー

【エクセル】指定期間合計の仕方

エクセルで表を作成しているのですが 2014年11月    A   B   C    D 1  日付  1日  2日  3日  4日 ・・・・・・期間合計 2  肉   34   28   30  31 3  魚   47   50   38  44 4  野菜  11   12   10  14 ・ ・ ・ 合計期間入力「」 上記のような表で、1日から31日までの「肉」「魚」「野菜」の数字が入っているのですが、こちらで指定した期間の合計が出るようにしたいのですがどのようにしたらよいでしょうか? ご教授よろしくお願いします

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です。 たびたびごめんなさい。 投稿後気になったのですが、前回の方法は必ず「1日」からの集計になってしまいます。 質問では「指定した期間」というコトですので、月の途中からでも対応できないと意味がないですね? もう一度画像をアップします。 それから11月は30日までしかないので、カレンダーも31日は不要ですよね? そこで余計なお世話かもしれませんが、今回は大の月・小の月に対応できるようにしてみました。 ↓の画像でA1セルに西暦年の数値のみ、C1セルに月の数値、E1セルに期間の始め、G1セルに期間の最後の数値のみを入力するとします。 まずB3セル(セルの表示形式はユーザー定義から d日 としておく)に =IF(MONTH(DATE($A1,$C1,COLUMN(A1)))=$C1,DATE($A1,$C1,COLUMN(A1)),"") という数式を入れます。 B4セルには =IF(B3="","",TEXT(B3,"aaa")) という数式を入れB3・B4セルを範囲指定 → B4セルのフィルハンドルで右へAF列までコピー! これでA1・C1セルの数値を入力するだけでカレンダーが作成できます。 最後にAG5セルに =IF(OR(A5="",E$1="",G$1=""),"",SUM(INDIRECT(ADDRESS(ROW(),E$1+1)&":"&ADDRESS(ROW(),G$1+1)))) という数式を入れフィルハンドルで下へコピー! これで画像のような感じになります。m(_ _)m

hayasitaik
質問者

お礼

とても親切な説明ありがとうございます。 一つづつ理解していきます。 INDIRECTは聞いたことがありますが、使った事がありませんのでチャレンジしてみます。 私も一旦作成して「1日~」でしたら出来る様にはなったのですが、自由に期間指定できる方法を参考にさせて頂きます。 ちなみに私が使ったのは =SUMIF(【ファイル名!$F$2:$AJ$2】,"<="&[ファイル名!$H$1,$F5:$AI5]) 【】←これが日付が並んでいる列 []←これが指定したい1日~??日までの??日 としました。 肉、魚、野菜の項目もSUMIFSにして検索条件としたかったのですがタイムアップにて断念しました。 (更新する際に商品列はこちらで手作業で修正が必要な状態・・・。) 本当に貴重なお時間を割いていただきありがとうございました。

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! 一例です。 実際のレイアウトが判らないので、↓の画像のような配置にしてみました。 C1セルに集計したい日までの数値を入力するとします。 ますC1セルの表示形式に手を付けます。 C1セルを選択 → 右クリック → セルの書式設定 → 「表示形式」タブの「分類」で「ユーザー定義」を選択 → 種類の欄の「G/標準」を消して 0日 と入力しOK これで数値のみを入力すると ○日 のように表示されます。 (画像では「2」と入力しています) そしてAG3セルに =IF(OR(A3="",C$1=""),"",SUM(INDIRECT(ADDRESS(ROW(),2)&":"&ADDRESS(ROW(),C$1+1)))) という数式を入れフィルハンドルで下へコピー! これで画像のような感じになります。 後はC1セルの数値を適当に変更してみてください。m(_ _)m

関連するQ&A