
エクセルの関数を使い横方向の期間集計を行いたいです。
エクセル2013使用
月ごとに商品の売れた個数を確認出来るよう集計用シートを作成しました。
現在のシートで開始日と終了日を指定して、特定の期間にどのくらい売れたかを確認出来るようにするのが目的です。
通常ですとsumifs関数などで簡単に求められると思いますが、
添付ファイルにあるように日付を文字列「2017.8」、、、で表記してしまっているので上手く動いてくれません。
日付表記「2017年8月」、、へ表示変更をするとsumifs関数は動いてくれるようになりましたが、
下表のvlookupが別タブとリンクしており、各タブをそれに合わせて名前変更していてもvlookup関数宇の方がエラーになってしまいます。
質問は、、、
・現状の状態で動くように自分なりに考えた関数がありますが、どれもエラーになります。
こちらに少し手を加えて適切に直すことは出来ますか?
=SUMIFS(F8:AA8,4:4,">="&C2,4:4,"<="&D2)
=SUM(OFFSET(ADDRESS(4,MATCH(C2,4:4,0),1),,,0,MATCH(D2,4:4,0)&"-"&MATCH(C2,4:4,0)))
=SUM(OFFSET(ADDRESS(4,MATCH(C2,4:4,0),1),1,0):OFFSET(ADDRESS(4,MATCH(D2,4:4,0),1),1,0))
=SUM(OFFSET(MATCH(C2,4:4,0),1,0):OFFSET(MATCH(D2,4:4,0),1,0))
・その他、私のブックに合った期間集計方法はありますか?
・「2017.8」、、を「2017年8月」、、へ表示変更した後、
各タブ名も「2017年8月」、、に変更した場合でもvlookupを正常に動かす方法はありますか?
エクセル2013使用

No.3ベストアンサー
- 回答日時:
こんにちは
期間の判断や「○日後」などを計算する上では、日付のデータは「日付型の数値(=シリアル値)」を用いておく方が何かと便利です。
書式設定をするだけで、様々な表示形式をとることができるというメリットもあります。
>・その他、私のブックに合った期間集計方法はありますか?
セルの位置関係がわからないので式を作成することはできませんが、ご質問の計算内容は「条件で抽出して加算」ということだと思いますので、SUMPRODUCT関数を利用するなどで求められるのではないでしょうか?
(単純な内容であれば、SUMIF、SUMIFS等でも求められると思います)
>に変更した場合でもvlookupを正常に動かす方法はありますか?
多分、あるだろうとは想像しますが、実際の内容が不明なのでわかりません。
※ エラーになる式から、なさりたい内容を想像しろというのは無理があります。
どのアドレスにあるデータをどのように処理したいかが、きちんと伝わるようになさった方が宜しいかと。
方法を問うだけならアドレスは不要ですが、具体的な式で回答が欲しければ必須です。
あ、書式設定ですね。
誤った表現をしていました!
書式設定をし「日付型の数値」にすると表計算している各関数がシートを判断してくれないのですが、
何かいい方法あるのでしょうか、、、
SUMPRODUCT関数試したのですが、
書式「文字列」で反応してくれないですが、書式「日付型の数値」にすると表全体のsumifsが軒並みエラーになります。
期間内集計用の自作関数、
=SUMIFS'(、、、
=SUM(OFFSET、、、
と同じ反応でした。
補足で具体的に説明させて頂きました。
ありがとうございます。
No.2
- 回答日時:
》 日付表記「2017年8月」、、へ表示変更をすると
》 sumifs関数は動いてくれるようになりました…
日付表記「2017年8月」も文字列ですか?
添付図において、日付部分はセル C2、D2、F列以右の4行目、およびシート名だけど、表示変更したのは、C2、D2、F列以右の4行目の全てのセルですか?
【お願ひ】添付図はクッキリと、説明はキッチリと!
》C2、D2、F列以右の4行目の全てのセルですか。
はい、すべてのセルの形式を変更しました。
シート名は形式変更出来ないかと思いますが、sumifsがエラーになってしまうのはそれが問題でしょうか、、、
ありがとうございます。
補足で再度説明させて頂きました、、
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Excel(エクセル) エクセルの関数について 5 2023/01/26 15:26
- Excel(エクセル) 年齢ごとの商品の販売個数を集計しようとしています。 a列が日付、b列が年齢、c列が販売個数のばあいで 4 2022/09/26 22:35
- Excel(エクセル) DATE関数で指定する「日」のセルが関数の場合の対処法 5 2022/09/14 15:46
- Excel(エクセル) エクセルのSUM関数について 4 2023/04/18 10:37
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- Excel(エクセル) この関数の誤りを教えて下さい。 3 2023/08/08 07:36
- Excel(エクセル) マクロを簡潔にしたい 6 2022/09/16 10:37
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】オートフィルタで...
-
フィルタをしても最下行を常に...
-
エクセルで特定の色の数字だけ...
-
ピボットの集計方法「合計」初...
-
エクセル、リソース不足エラー...
-
エクセル 関数を使った横方向の...
-
ピボットテーブルでは時間の表...
-
VBAで重複する項目を1つにまと...
-
マクロ実行時にエラーが出てし...
-
こういう管理ソフトはないでし...
-
Excelの集計結果だけをコピー貼...
-
ピボットを更新すると数式が入...
-
ピボットテーブルの自動計算を...
-
VLOOKUP関数とCOUNT関数等の組...
-
エクセルの小計を自動的に色づ...
-
エクセルで毎日のデータを毎月...
-
EXCELで1行おきのセルの計算を...
-
excelで集計の合計を降順に並べ...
-
excelでのデータ集計
-
別bookのデータを転記するマク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【エクセル】オートフィルタで...
-
ピボットテーブルでは時間の表...
-
フィルタをしても最下行を常に...
-
VBAで重複する項目を1つにまと...
-
ピボットを更新すると数式が入...
-
エクセルで特定の色の数字だけ...
-
エクセル、リソース不足エラー...
-
ピボットの集計方法「合計」初...
-
いい機能だけど、毎回めんどく...
-
ピボットテーブルのページエリ...
-
常にタイトル行と合計行を表示...
-
アンケートの集計
-
Excelの集計結果だけをコピー貼...
-
複数のピボットテーブルを一括...
-
エクセル 関数を使った横方向の...
-
ピボットテーブル作成後、集計...
-
エクセル 日付(年月日)の合...
-
エクセルの小計を自動的に色づ...
-
他部署からもらう データで、 ...
-
エクセル 最小値を求める関数...
おすすめ情報
添付ファイル見づらくすいません。
構成がややこしいと思い、説明を省きましたが、
あまりに説明が足りなかったようなので、改めて説明をさせて頂きます。
ブックは1つで構成。
2017年8月~2019年5月までの各タブ+集計タブ
2017年8月~各月ごとにタブで納品書をまとめてあります。
1つの納品書は全33行で構成されており、
商品は15品目まで入れられるようになっていて、横に続く形で番号、ブランド名、商品名、商品コード、サイズ、数量、原単価、原価金額、売単価、売値金額、掛率となっています。
(vlookupでなくsumifsでした!!)
過去今までの売れ行き動向が分かるように、
「集計」タブを作り納品書に記載のある数量をsumifs関数で計算し、
仕入合計、売掛金合計、出荷コスト、などを集計しています。
60% 販売名 下代 上代 卸 60% 2017.8 2017.9 2017.10 2017.11
商品コード
CL001 商品1 ¥600 ¥3,200 ¥1,920 1 0 6 6
CL002 商品2 ¥720 ¥2,800 ¥1,680 10 6 0 32
集計シートの4行目、F列~AB列に各タブと名前一致するように横に「2017.8」、、、と入力してあります。
集計シートのA列、8行目~54行目に商品コードが縦に入力してあります。
表一番端のA4セルには任意の掛率が入力できるようになっており、
集計シート、A4セルの掛率、A列の商品コード、F列の年月と
納品書のD列商品コード、F列数量、k列掛率を条件対象に月ごとに各商品が何個売れたか計算しています。
例えば
F8セル =SUMIFS(INDIRECT("'"&F$4&"'!F:F"),INDIRECT("'"&F$4&"'!D:D"),$A26,INDIRECT("'"&F$4&"'!K:K"),$A$4)
集計シートのAC列には「合計」を設けており、過去今まで売れた総数が各商品コード別(行別)に=SUMで計算されています。
ここに追加でC2とD2に開始日と終了日用のセル設け、そこに記入した期間だけ計算できるようにしたいです。
通常ですとsumifs関数などで簡単に求められると思いますが、
添付ファイルにあるように日付を文字列「2017.8」、、、で表記してしまっているので上手く動いてくれません。
しっかりと”形式”を変更し日付表記「2017年8月」、、へするとsumifs関数は動いてくれるようになりましたが、
下表のsumifsが別タブとリンクしており、各タブをそれに合わせて名前変更していてもsumifs関数の方がエラーになってしまいます。
質問は、、、
・「2017.8」、、を「2017年8月」、、へ表示変更した後、
各タブ名も「2017年8月」、、に変更した場合でもsumifsを正常に動かす方法はありますか?
↑こちらを解決してしまうのが一番近いかと感じております。
ちなみに、「2017.8」→「2017年8月」に形式変更へ日付表示するとセルの内容が「2017/8/1」と自動変換され +/1 追加されてしまいます。
それだとタブの名前と合わないためにsumifsが上手く動かないのかなと思っていますがどうですか?
タブは月ごとの名前なので、「2017年8月1日」や「2017/8/1」にはしたくありません。
・現状の状態で動くように自分なりに考えた関数がありますが、どれもエラーになります。
SUMPRODUCT関数も現状の状態だと年月を認識しないようで、途中で断念しております。
こちらに少し手を加えて適切に直すことは出来ますか?
=SUMIFS(F8:AA8,4:4,">="&C2,4:4,"<="&D2)
=SUM(OFFSET(ADDRESS(4,MATCH(C2,4:4,0),1),,,0,MATCH(D2,4:4,0)&"-"&MATCH(C2,4:4,0)))
=SUM(OFFSET(ADDRESS(4,MATCH(C2,4:4,0),1),1,0):OFFSET(ADDRESS(4,MATCH(D2,4:4,0),1),1,0))
=SUM(OFFSET(MATCH(C2,4:4,0),1,0):OFFSET(MATCH(D2,4:4,0),1,0))