いつも皆さまから助けていただいて感謝してます。
今回ももしExcelの関数を使用して合計値を求められる方法があれば皆さまのお力を僕にお貸しいただけますでしょうか。

添付しましたA社~C社の行が複数ありその指定期間1期(4月~9月)及び2期(10月~3月)の合計額を赤枠内容のように合計額を関数で求めたいのですが良い方法はありますでしょうか。

宜しくお願いいたします。

「Excelの関数で期間を指定して金額の合」の質問画像

このQ&Aに関連する最新のQ&A

A 回答 (4件)

各列に1期、2期 の文字を追加して、SUMPRODUCTで集計するのはいかがでしょうか。



例:
1、1行目に行を追加して、それぞれ1期、2期と記載します。
2、集計する方の表記(13行目)も1期、2期と記載します
3、B14セルに=SUMPRODUCT(($B$1:$M$1=B$13)*($A$3:$A$10=$A14),$B$3:$M$10) と入力します。

※また、集計側の●期 箇所の書式設定を @"(4~9月計)" に設定すれば表示が整います(18行目)
「Excelの関数で期間を指定して金額の合」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとう

回答有難うございました。SUMPRODUCT関数は初めて試してみました。僕のイメージ通りの結果になり感激です。ほんとExcelはすごいですね!こんな風に関数を使いこなせる方がうらやましいです。

お礼日時:2017/04/20 22:55

No3のesupuressoです。


セルB12に入れる式が間違っていましたので訂正します!
セルB12には、=SUM(IF(($A$2:$A$9=A12),$B$2:$G$9))の式を入れてください!
訂正前の式 =SUM(IF(($A$2:$A$9=A12),$B$2:$M$9))
訂正後の式 =SUM(IF(($A$2:$A$9=A12),$B$2:$G$9)) でした。
    • good
    • 0
この回答へのお礼

ありがとう

訂正有難うございました。このような方法でも質問した内容の合計が求められるんですね♬配列数式は初めて使用してみましたが大変勉強になりました。

お礼日時:2017/04/20 23:02

配列数式にしたら出来ます。


まず、その前にセルB12~D14に設定されているセル結合を元に戻します。(セル結合されていると配列数式が作れませんので・・・。)

示されている画像を元に配列数式を作ると次のようになります。

セルB12に =SUM(IF(($A$2:$A$9=A12),$B$2:$M$9)) の式を入れ、「Ctrl」+「Shift」を押した状態で「Enter」を押すと、{=SUM(IF(($A$2:$A$9=A12),$B$2:$M$9))}  となり、式の前後に{}が付きます。
この数式を下方向へオートフィルコピーします。

セルD12に =SUM(IF(($A$2:$A$9=A12),$H$2:$M$9)) の式を入れ、先と同じように「Ctrl」+「Shift」を押した状態で「Enter」を押して、また下方向へ式をオートフィルコピーします。

数式を入れ終わったら「セルを結合して、中央揃え」の横の▼を押して「セル結合」をクリックします。

以上で、やりたい事が再現できます。
「Excelの関数で期間を指定して金額の合」の回答画像3
    • good
    • 1

SUMIFを使って、A列が一致する4月のデータの合計+同5月+…+同9月


とする(SUMIFを6つ+でつなぐ)か、

上半期・下半期のそれぞれ合計を表示する列を用意して、
SUMIFでその列のデータを合計する(SUMIF1つで済む)か、

といった方法が思い浮かびます。
    • good
    • 0
この回答へのお礼

ありがとう

回答有難うございました。一つの方法にもいろいろなやり方があるもんなんですね!勉強させていただいて大変有難うございました。

お礼日時:2017/04/20 22:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

QExcel関数:範囲の異なる合計の求め方

A列に7月の日付が1日から31日まで入力されていて
B列には日毎に異なる数値nが入っている表があります。

  A   B
1 7/1  5
2 7/2  10
3 7/3  8
4 7/4  2
5 7/5  19     こんな感じで末日まで

また、別の表で
E列に7/3であったり7/15であったりという日付が入っていて(それぞれバラバラ)
F列に、E列のセルの日付から検索してその日以降のB列の値の合計を出したいのです。
E1が7/3であった場合はB3:B31、E2が7/15であった場合はB15:B31、といった具合に。
単に =SUM(B3:B31) と入力するのではなく
あくまでE1の値で検索した$B$31までの合計を求める式を教えて下さい。

Aベストアンサー

Ano.2のものです。

C列に商品名列があるとし、検索する日付がE列、検索する商品名がG列にあるとしたら、E列の日付以降の、G列の商品の合計金額がH列に表示される式は以下のとおりです。

=IF(OR(ISBLANK(E2),ISBLANK(G2)),"",SUMPRODUCT(($A$2:$A$32>=E2)*($C$2:$C$32=G2)*($B$2:$B$32)))


sumproduct関数のいいところは、追加の検索条件を、いくつでも、簡単に追加できる点です。

Qエクセルで年月の合計を求める関数を教えてください。

  A列     B列       C列
2000/4/1  2002/3/31   2年
2002/4/1  2004/9/30   2年6ヶ月
2005/4/1  2005/6/30   3ヶ月

として,C列の関数は(=TEXT(DATEDIF(A1,BI,"Y"),"0年;;")&TEXT(DATEDIF(A1,B1,"YM"),"0ヶ月;;")としています。
そこで,C列のみで(空白期間があるので)年月を合計する関数を教えてください。
(上記の例の場合,4年9ヶ月となるように)
よろしくお願いします。

Aベストアンサー

実用性を考えれば、期間の年と月を2列に分けるという方法もあるのではないでしょうか。
たとえば、C列は「=DATEDIF(A1,B1,"Y")」で表示形式を「0"年";;」とし、D列は「=DATEDIF(A1,B1,"YM")」で表示形式を「0"ヶ月";;」とする。

こうすれば年合計は「=SUM(C:C)+INT(SUM(D:D)/12)」、月合計は「=MOD(SUM(D:D),12)」で、表示形式も同様に設定すればOKですよね。罫線の引き方とか工夫すれば、元の表と見た目もあまり変わらないし、よろしかったら検討してみてください。

Q1行置き数値の合計値を求めるエクセル関数の意味を教えてください。

1行置き数値の合計値を求めるエクセル関数の意味を教えてください。

J97=SUMPRODUCT(J3:J96,ROW(J3:J96)-ODD(ROW(J3:J96))+1)
J98=SUMPRODUCT(J3:J96,ROW(J3:J96)-EVEN(ROW(J3:J96))+1)
データ範囲J3:J96の数値を1行おきに求める

前任者(すでに退職)から引き継いだエクセル表に入力されていた関数です。
1行おきの数値を合計する式で正しい答えも出ているのですが、
導き出し方がどうしてもわかりません。分解して考えても、つなげると…??
以前、1行置きの合計を求める質問をした際には、あがってこなかった式です。

初心者のため、少し詳しく教えていただきたく、よろしくお願いします。

Aベストアンサー

=ODD()関数は、括弧内の数値を最も近い奇数に切り上げた数値を返します。
=EVEN()関数は、括弧内の数値を最も近い偶数に切り上げた数値を返します。
=ROW()関数は、括弧内に何も入力されていなければ、その行の数値を返します。
では、J3とJ4を例にすると、
SUMPRODUCT(J3:J96,ROW(J3:J96)-ODD(ROW(J3:J96))+1) は、
ROW(J3)の場合、3となるので、
SUMPRODUCT(J3,3-3+1) となり、
J3×1となります。
また、
ROW(J4)の場合、4となるので、
SUMPRODUCT(J4,4-5+1) となり、
J4×0となります。

よって、J3は足される行、J4は足されない行となり、1行おきに加算される事となります。

=EVEN()の場合は、J3の時に0となり、J4の時に1となるので加算される行が逆になります。

Q日付で検索して合計を求める関数

日付で検索して合計を求める関数を教えて下さい。

   A   B    C
  本数  単価   納期
1 10  100  1/2
2 10  100  1/8
3 10  100  1/10
4 10  100  1/13
5 10  100  1/20
6 10  100  1/22
7 10  100  1/26
8 10  100  1/27

上記の表で 月頭(1/1~1/10)、月中(1/11~1/20)、月末(1/21~1/31)毎の 本数×単価=金額 総売上金額を別のシートに表示させたいのですが、どうしたらいいでしょうか?

Aベストアンサー

例えば以下の式で1/1~1/10の金額合計が求められます

=SUMPRODUCT(Sheet1!A2:A9,(Sheet1!B2:B9)*(Sheet1!C2:C9>="2008/1/1"*1)*(Sheet1!C2:C9<="2008/1/10"*1))

"2008/1/1"*1 の日付を指定する箇所は別のセルを指定してもいいです。その方が集計表を作るときは楽でしょう。

QEXCELである担当者が売った商品だけの合計金額を求めたいのですが、SUMIF関数だけで出来ますでしょうか?

A1からA10に担当者の名前が入っているとします。
B1からB10にそれぞれいろいろな商品名が入っているとします。
C1からC10には金額が入っているとします。

ある担当者が売ったAという商品だけの金額の合計を求めたいのですが、SUMIFだけではうまくいきません。

何か方法はありますでしょうか?

Aベストアンサー

#2の補足です。配列数式の解説は難しいですが・・・。

 通常の計算は、配列を式に組み込むと、SUM/AVERAGE/PRODUCT/COUNT/AND/OR等配列を引数に取る箇所を除き、強制的に、何らかの「値」に置き換わってしまいます。

B2=A1:A10→A2
B2=A1:A10+0→A2
B2=A1:A10=0→A2=0(TRUE又はFALSE)
B2=$A$1:$A$10→#VALUE!
B11=A1:A10→A11
B11=A1:A10+0→#VALUE!
B11=A1:A10=0→#VALUE!
B11=$A$1:$A$10→#VALUE!

 そこで、配列の各要素で計算させて、全体を配列のまま返したいといった場合に配列数式を使用します。
 先の式では、

(A1:A10="担当者の名前")*(B1:B10="商品の名前")*C1:C10

 これ全体を配列として、SUM関数で総和を取っているわけです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報