アプリ版:「スタンプのみでお礼する」機能のリリースについて

条件が一致するものを合計し、別のシートに値を代入したいです。

日付 商品 個数 金額
1/1 りんご 1個 500円
1/3 みかん 1個 300円
1/3 みかん 2個 600円
1/5 みかん 5個 1500円
1/1 ぶどう 2個 800円
1/2 りんご 2個 1000円

このような表でりんごの合計1500円、みかんの合計2400円
を別のシートの1月の列へ代入したいのですが
VBAでできる方法を教えてください。
この表は毎月上書きされるようになっています。

A 回答 (2件)

質問の、条件についての表現があいまい。


推測すると(1)年月(2)品名(みかんとか)
これらを各々1つ指定する(どう指定するの、2つのセルに入力?)なら
(1)Sheet1の全行読んで
(2)1月か、みかんか判別し、以外は加算処理しない。
(3)1月分でみかんの場合、加算合計ワーク変数に金額を足しこむ
(4)Sheet2の1月の行(列)に書き込む。
VBAを少しはじめれば、疑問でなくなると思う問題だが、質問しているのは、上記では尽くせない点があるのかもしれない(例 最終行の補足の仕方)。それなら補足してください。
上記のどれかの点で、それをVBAコードで実現する仕方が判らない点があれば補足してください。
VBAでピボットテーブルを実行する手もありますよ。
たてに年月、横に品名、縦横交差該当セルに合計金額の表作成ことかな。
それのような質問表現になっていませんよ。
ーー
関数でも複雑だがやっとできる問題と思う。
    • good
    • 0

無理してVBAを組まなくてもSUMIF関数で出来るんではと思いますが。


"個"とか"円"を除いて数字だけ取り出すのもLeftやLen関数(複雑になればMidやFind関数)で容易に可能ですし。
Ex.
E列に数字を抜き出す式を入れて
=INT(LEFT(B4,LEN(B4)-1))
合計用の隣のシートに表示
=SUMIF(Sheet1!B2:E7,"みかん",Sheet1!E2:E7)

関数で簡単に実現出来ることをあえてVBAでする必要はありませんよ。
    • good
    • 0

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