VBAで1年間の売上をマクロで集計する方法
- VBAを使用して、一年間のりんごとみかんの売上金額をトータルで計算する方法について教えてください。
- 期初月から指定した日付までの売上金額を集計するため、InputBoxで指定した日付を入力することで対象期間を指定します。
- 例えば、InputBoxに「2012/04」と入力した場合は、B列の「2011/06」から「2012/04」までの期間において、りんごの売上金額を総合計して表示します。
- ベストアンサー
VBA 1年間売上トータルをマクロで集計
A(エリア) B(日付) C(商品) D金額 東京 2009/09 みかん 210 東京 2011/09 みかん 210 大阪 2011/06 りんご 150 東京 2011/07 りんご 200 東京 2011/08 みかん 170 大阪 2011/10 みかん 140 東京 2011/11 みかん 110 東京 2012/03 みかん 190 大阪 2012/04 りんご 200 東京 2012/05 りんご 220 【やりたいこと】 1年間のりんごの売上とみかんの売上のトータルをマクロで 計算したいと思っています。 一年間の区切りは、期初(スタート)月:6月 締め月:5月です。 ただし、1年間といっても指定した日付までのトータル金額を出したいのです。 例1)InputBoxで「2012/04」と入力した場合は B列の「2011/06」~「2012/04」かつC列がりんごの金額の総合計を出す。 というようなイメージです。 例2)InputBoxで「2011/06」と入力した場合は B列の「2011/06」~「2011/06」かつC列がりんごの金額の総合計を出す 例3)InputBoxで「2010/02」と入力した場合は B列の「2009/06」~「2010/02」かつC列がりんごの金額の総合計を出す 恐れ入りますがどたなかご教示頂ければ幸いです。 どうぞよろしくお願い致します。
- nanacolobiyaoki
- お礼率93% (74/79)
- SE・インフラ・Webエンジニア
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じかな。 forのところはsumproductを使おうと思ったんだけど、思い通りに動かなかったので。 Sub 計算() Dim str, st As String Dim dt(2) As Date Dim a, b Dim c As Long str = InputBox("集計終わりの年月を書いてください" & vbCrLf & "例:2011/08", "集計用") st = "みかん" If str <> "" Then a = Val(Left(str, 4)) b = Right(str, 2) If Val(b) < 6 Then a = a - 1 dt(0) = CDate(a & "/06") dt(1) = CDate(str) End If For k = 1 To Range("a1000").End(xlUp).Row dt(2) = Range("b" & k + 1) If dt(0) <= dt(2) And dt(1) >= dt(2) Then If Range("c" & k + 1) = st Then c = c + Range("d" & k + 1) End If Next Range("g1") = c End Sub
関連するQ&A
- VBA SUMPRODUCTについて2
A B C 東京 みかん 200 大阪 りんご 150 愛知 りんご 200 愛知 みかん 170 東京 みかん 190 390(←出したい値:atai) 【やりたいこと】 A列が「東京」で、B列が「みかん」のC列の合計を出したいです。 つまり、200+190 = 390 下記、書いてみたのですがatai(値が0)になります。 ※本来は390と出したいところです。 何が間違っているのでしょうか? --------------------------- Sub monthResult2() Dim ans As String ans = "東京" atai = Evaluate("SUMPRODUCT((A1:A5= ""& ans &"" )*(B1:B5= ""みかん"") * C1:C5)") Range("C7") = atai End Sub ------------------- ""& ans &"" を ""東京"" とすれば正しい答え「390」が出てきます。 ans は変数で使いたいので固定で指定したくありません・・。 どうぞよろしくお願い致します。
- ベストアンサー
- SE・インフラ・Webエンジニア
- VBA SUMPRODUCTについて3
A B C 東京 みかん1 200 大阪 りんご3 150 愛知 いちご2 200 東京 みかん2 170 東京 いちご1 190 560(←出したい値:atai) 【やりたいこと】 A列が「東京」で、B列が「みかん」または「いちご」の文字列を含む C列の合計を出したいです。 つまり、200+170 +190 = 560 下記、書いてみたのですがatai(値が#VALUE!)になります。。 ※本来は560と出したいところです。 何が間違っているのでしょうか? --------------- Sub monthResult3() Dim ans As String ans = "東京" atai = Evaluate("SUMPRODUCT((A1:A5= """ & ans & """ )*((B1:B5 Lile ""*みかん*"")+(B1:B5 Lile ""*いちご*"")) * C1:C5)") Range("C7") = atai End Sub
- ベストアンサー
- SE・インフラ・Webエンジニア
- エクセルマクロ 特定の文字列を含む行を削除
マクロについて教えてください。 以下のなかから、りんごを含んでいる行のみ削除したいのです。 できれば、inputboxで削除したい文字列を入力するようにしたいです。 1|りんご|30 2|みかん|50 3|りんご|30 4|すいか|30 5|みかん|50 いろいろ調べましたがわかりません。。お願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル VBA マクロについて
初めまして。 以下のようなマクロを組みたいんですが可能でしょうか? A B C D E F 東京 足立区 みかん 10 5 50 葛飾区 みかん 20 3 60 港区 りんご 30 1 30 小計 140 ( 空白行 ) 愛知 名古屋市 みかん 10 5 50 東海市 もも 10 5 50 小計 100 上記のようなデーターシートがあります。 Dには数字が入ってるんですが、 ここに係数をかけたいんです。 たとえば、=10*1.07 とか (1)元の値に係数かける式をセルに入れるマクロはあるんでしょうか? (2)この係数を別シートのセルで入力したいんですが セルを参照できますか? (3)みかん、もも、りんごの列を検索して、 それに対応した係数かけるマクロはあるんでしょうか? 処理速度は、とくにはこだわりません。 ご指導おねがいいたします。
- 締切済み
- オフィス系ソフト
- VBAマクロ作成について
A B C -------------- 1 ○○ 123 456 --------------- 2 □□ 789 123 --------------- 3 △△ 456 789 -------------- 上記のような表でInputBoxを使い「○○」と入力すると同じ行のB列「123」とC列「456」 「□□」なら「789」「123」のように値を取得し、変数に代入するような マクロを作成したいのですが、どのように記述すれば良いでしょうか。 初歩的な質問ですが、宜しくお願いいたします。
- ベストアンサー
- Visual Basic
- Excel2003でデータの集計をしたいのですが
下記のようなデータがあるときに日別店舗別商品別の個数の集計表を作成したいのですが。 日付 店舗 商品 個数 1/1 東京 りんご 1 1/1 大阪 みかん 2 1/1 東京 りんご 3 1/2 東京 みかん 4 1/3 東京 りんご 5 1/3 大阪 なし 6 1/3 大阪 りんご 7 1/3 東京 りんご 8 ↓ 集計 1/1 東京 りんご 4 1/1 大阪 みかん 2 1/2 東京 みかん 4 1/3 東京 りんご 13 1/3 大阪 なし 6 1/3 大阪 りんご 7 ピポットテーブルで処理しようとしましたが、うまくいきません。 よい方法はないでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルVBA 年月で集計したい
お世話になります。 下記の様にシート1に入力した値をボタンで シート2の集計シートの該当年月に加算させたいたいのですが、 年月で振り分ける方法が分かりませんでした。 ●シート1(個数入力) A B 1 H24/12/25 2りんご 1 3みかん 2 4ばなな 3 5すいか 4 ⇒GOボタン ●シート2(年月毎の集計) A B C D 1 24年10月 24年11月 24年12月 2りんご 0 1 3みかん 0 2 4ばなな 0 3 5すいか 0 4 シート1のB1の日付の年月とシート2のB1の年月が一致したら、値をB2~B5に加算 一致しなければ、C1、D1 という感じで考えております。 IF文の条件式がどのようになれば良いか教えていただけないでしょうか? 分かりづらくて申し訳ございませんが、よろしくお願い致します。 エクセルは2000を使用しております
- ベストアンサー
- その他MS Office製品
- EXCEL 集計の方法
おせわになります。 EXCELにあるデータを集計したいのですが、「集計」機能では対応できませんので、何か良い方法がありましたらお知らせくださいますようお願いいたします。 ------------------------------------------ A列 B列 C列 ○○会社 りんご 1500円 ○○会社 みかん 1000円 ○○会社 みかん 1000円 △△会社 りんご 1500円 △△会社 みかん 1000円 ------------------------------------------ というデータがあったとします。 今回はB列ごとに集計するのではなく、 A列ごと、B列ごとの集計です。 つまり、 ○○会社 りんご1500円 ○○会社 みかん2000円 と、いうことです。 何かよい方法はありますでしょうか? よろしくおねがいします。
- ベストアンサー
- その他(データベース)
- エクセル詳しい方おしえてください
ABC列にデータを入力して全ての列に入っているデータのみ抽出するにはどうしたらいいですか 例 A B C りんご みかん りんご みかん バナナ みかん バナナ →この場合抽出結果をみかん としたいです 列の表示がずれますがなんとなくでみてくださいm(_ _)m よろしくおねがいします
- 締切済み
- その他MS Office製品
お礼
ありがとうございました!!! かっ・・感動の一言ですO(≧▽≦)O !! おかげさまで正確な値を得ることができました。 このたびは本当にありがとうございました。