お手数ですが、教えてください。
例えば
下記シート1として、A列に日付、そしてB列に数字を入力します。
シート1
A B
1 1月1日 5
2 1月1日 -7
3 1月1日 -10
4 1月2日 8
5 1月3日 9
6 1月3日 -9
7 1月3日 -3
8 1月4日 1
9 1月4日 10
10 1月4日 -6
11 1月4日 -11
これをシート2に下記のような日付ごとのプラス数字の合計と
マイナス数字の合計を表示させたいのですが、、
A列に日付、B列にシート1B列のプラスの数字の合計
C列にシート1のB列のマイナスの数字の合計を表示したいのです。
シート2
A B C
1 1月1日 5 -17
2 1月2日 8 (0か無表記)
3 1月3日 9 -12
4 1月4日 11 -17
SUMPRODUCTという関数を使うのかと思って色々トライしてるのですが
うまくいきません。
説明不足でややこしいのかもしれませんが、お解りになる方がいらっしゃれば
是非ご教授をお願いしたいと思います。
No.1ベストアンサー
- 回答日時:
こんな感じですか。
B1
=SUMPRODUCT((Sheet1!$B$1:$B$11)*(Sheet1!$A$1:$A$11=$A1)*(Sheet1!$B$1:$B$11>=0))
C1
=SUMPRODUCT((Sheet1!$B$1:$B$11)*(Sheet1!$A$1:$A$11=$A1)*(Sheet1!$B$1:$B$11<0))
感激です!
早速のご教授ありがとうございます!
うまくいきました!
惜しいところまで出来てたのですがまだまだ勉強不足です。
お忙しいところ本当にありがとうございます!
No.2
- 回答日時:
SUMIFS関数でできるような気がしますが…これはExcel2007以降で使える関数です。
=SUMIFS(合計対象範囲,検索条件範囲1,検索条件1,検索条件範囲2,検索条件2...)
のようにして使います。
Sheet2 B1セル
=SUMIFS(Sheet1!B:B , Sheet1!A:A,A1 , Sheet1!B:B,">0")
Sheet2 C1セル
=SUMIFS(Sheet1!B:B , Sheet1!A:A,A1 , Sheet1!B:B,"<0")
あとは必要な行までセルをコピーする。
とってもシンプル。
・・・本題・・・
SUMPRODUCT関数を使う場合は、この関数が
横方向に掛け算、
その結果を縦方向に足し算、
であることをしっかり念頭に入れておきましょう。
まずは横一列だけで考えます。
すると、
=SUPRODUCT( (シート1のA列の日付=シート2のA列の日付)×1 , (シート1のB列>0)×1 , シート1のB列)
=SUPRODUCT( (1月1日=1月1日)×1 , (5>0)×1 , Sheet1!B:B )
のようにすることができると分かると思います。
この時、比較の結果は「True」「False」として返ってきますが、これに「1」を掛けると「True」は「1」、「False」は「0」になります。
また、「True」「False」と「数値」を掛け算すると前述のような判断が行われた「数値」として返ってきます。
すると比較を含んだ項目同士を掛け算してくれます。
=SUPRODUCT( (1月1日=1月1日)×1 , (5>0)×1 , Sheet1!B:B )
=SUPRODUCT( (Ture)×1 , (True)×1 , 5 )
=SUPRODUCT( 1 , 1 , 5 )
=1×1×5
=5
これを忘れていると正しい結果が返ってきません。
そして別のシートを参照するときは、
=シート名+!+セル番地
のようにして参照です。
あとはシート1に対しては配列(A列全体とかB列全体)を指定すればいい。
=SUPRODUCT( (Sheet1!A:A=A1)*1 , (Sheet2!B:B>0)*1 , Sheet1!:B:B)
または
=SUPRODUCT( (Sheet1!A:A=A1) * (Sheet2!B:B>0) * Sheet1!:B:B)
そして注意が必要なのが、日付。
これ、月日の表示なので年が一致するかどうかの判断が見た目では分からない。
できれば年まで表示させるようにしておこう。
・・・余談・・・
合計なので、シート1のB列の0は考慮しなくて良いと思います。
ですので自分の示した数式でシート1のB列の符号を判断するために「>=」「<=」は使わず「>」「<」のみを使用しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルシートの合計の変動 5 2022/04/05 15:56
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Excel(エクセル) 列を自動で追加したい 3 2022/07/11 12:58
- Visual Basic(VBA) 列 A に同じ日が2つが必要です。 1 2023/03/28 07:25
- Excel(エクセル) vba 同じブック内での転記について 4 2023/01/15 14:42
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Excel(エクセル) excelで同日を除いて数えたい 5 2023/01/15 22:08
- Excel(エクセル) 特定文字(数字)で行挿入、挿入された行で合計したい 2 2023/03/13 14:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
はがきについて。
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
【関数】先頭だけにある、半角...
-
Excel ピボットテーブルで日付...
-
Excelのpivotについて質問です
-
時間によってファイル名が変わ...
-
エクセル 白黒印刷で白線を印刷...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
WPS OFFICEでの縦書きについて
-
Excelのチェックボックスの使い...
-
エクセルの条件付き書式につい...
-
エクセルのセルに同じ大きさの...
-
エクセルの関数について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報