Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Professional : Excel 2013)
先月の合計
投稿日時: 18/02/07 17:46:49
投稿者: shamo

お世話になります。
下記のような表があり先月の合計(売上部分)の合計を
店舗別に求めたいのですがどのようにすればいいでしょうか。
 
  A  B  C
1 店舗 日付 売上
2 A店 1/15 100
3 B店 1/10 150
4 C店 2/04 110
5 A店 2/01 120
6 B店 2/10 100
7 C店 1/18 160
8 A店 1/12 130
9 B店 1/30 140
 
今日=2018/2/7として、、、
 
先月の売上 合計
A店 230
B店 290
C店 160

回答
投稿日時: 18/02/07 18:49:15
投稿者: 細雪

とりあえず一案として。
作業列を使って比較的解り易い(と思う)関数で解決します。
 
 
 
 
A:C列にご提示の表があるとして・・・
D列辺り(邪魔にならないところ)に作業列として
  D2セル:=TEXT(B2,"yymm")
       ※必要行数フィル
を作ります。
 
続いて・・結果をF:G列に出したいとして、
F1セルに「先月の売り上げ」、G1セルに「合計」の見出しを置き、
F2:F4の範囲に店舗の名前が並んでいるものと考えます。
その場合、
  G2セル:=SUMIFS(C:C,A:A,$F2,D:D,TEXT(EDATE(TODAY(),-1),"yymm"))
       ※店舗の数だけフィル
        列も相対参照にしても良いかも。
これでお望みの数字が出るはずです。
 
 
 
TEXT関数は、数値を指定した書式の文字列に変換して返す関数。
今回は「yymm」として、年月だけを拾います。
 
TODAY関数は「本日の日付」を返すおなじみの関数ですね。
 
EDATE関数は、指定した日付の「○○カ月後」を返す関数。
この場合、「TODAY()の−1カ月後」、つまり「1カ月前」の日付を取りました。
 
コレをTEXT関数で「年月」の形で返してもらい、
SUMIFS関数の引数として使っている、ということです。
SUMIFS関数は、SUMIF関数の複数条件バージョンです。
 
 
関数の詳細は別途お調べくださいませ。
 
 
あ、当然ながら「基準にする日付」をどこかのセルに置いても対応できますよ。
その場合は「・・・EDATE(そのセルを絶対参照,-1)・・・」に置き換えてくださいね。
例えば「$E$1」とかですね。

投稿日時: 18/02/07 19:10:02
投稿者: shamo

ご丁寧にお返事ありがとうございます。
 
SUMIFの複数条件があればな〜と思ってたんですが
SUMIFSって関数があったんですね。知りませんでした<(_ _)>
 
=SUMIFS(C:C,B:B,">="&DATE(YEAR(TODAY()), MONTH(TODAY()) - 1, 1),B:B,"<="&DATE(YEAR(TODAY()),MONTH(TODAY()),0),A:A,"A店")
 
長く可読性が悪いですが取りあえず出したい値は返ってきました。
先月初日、月末日を別のセルに出した方がキレイですね。
 
ありがとうございました!!