- ベストアンサー
転記に困っている売上情報のまとめ方法
- Sheet1に月毎の売上一覧がありますが、Sheet2に顧客別に合計した売上情報を転記したいです。
- 月によって売上セル領域が変動するため、転記方法に悩んでいます。
- 解決方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Sheet2のB2に =SUMIF(Sheet1!B:B,A2,Sheet1!D:D) って書いて、下にコピー。
その他の回答 (3)
- Prome_Lin
- ベストアンサー率42% (201/470)
回答No.3です。 注意事項を追加します。 上書き保存をしてしまいますので、試される場合は、コピーなど、元のファイルが必ず残る形でお願いします。 ちなみに、「コピー」は、ファイルやフォルダを表示するエクスプローラーで、目的のファイルをクリックして、右クリックから「コピー」を選びます。 適当なフォルダを作成し、そのフォルダの中に入り、やはり右クリックから「貼り付け」を選べば、元のファイルは、元のところに残ったまま、同じファイルがそのフォルダの中にコピーされます。 そのフォルダの中に、「~.vbs」ファイルを放り込んで、ダブルクリックしてください。
- Prome_Lin
- ベストアンサー率42% (201/470)
以下のプログラム(VBScript)を、テキストエディかメモ帳などにコピー&ペーストして貼り付けます。 次に、目的のファイルを適当なフォルダに入れます。 そのフォルダには、他のエクセルファイルが入っていてはいけません。 エクセル以外でしたら構いませんが、エクセルファイルがあると、実行して、上書き保存してしまったり、エラーが出たりします。 最初の、エディタかメモ帳に貼り付けたプログラムを、名前を付けて保存で、今、目的のエクセルのファイルを入れた、同じフォルダに「~.vbs」(「~」の部分は適当に付けてください)という名前で、保存してください。 必ず、「.vbs」(カンマvbs)としてください。 「~.vbs」ファイルをダブルクリックすると、割とすぐに「Finished!」と表示すると思いますので、「OK」をクリック。 ファイルを見てみてください。 結果が出ていると思います。 これで、毎月、「~.vbs」ファイルを結果を出したいエクセルファイルのあるフォルダに放り込んで、ダブルクリックするだけです。 Option Explicit Dim a, b, c, d, i, t, u, v, w, x, y, z Set t = CreateObject("Scripting.FileSystemObject") Set u = t.GetFolder(".") Set v = CreateObject("Excel.Application") v.Application.DisplayAlerts = False v.Visible = False For Each a In u.Files b = t.GetExtensionName(a.Name) If b = "xls" or b = "xlsx" Then Set w = v.Workbooks.Open(u & "\" & a.Name) Set x = w.Worksheets(1) Set y = w.Worksheets(2) For i = 2 to y.Range("A1").End(-4121).Row y.Cells(i, 2).Value = 0 Next For i = 2 to x.Range("B1").End(-4121).Row c = x.Cells(i, 2).Value Set z = y.Range("A:A").Find(c) y.Cells(z.Row, 2).Value = y.Cells(z.Row, 2).Value + x.Cells(i, 4).Value Set z = Nothing Next w.Save w.Close Set y = Nothing Set x = Nothing Set w = Nothing End If Next v.Quit Set v = Nothing Set u = Nothing Set t = Nothing MsgBox("Finished!")
お礼
ありがとうございます。 試してみます。
- ushi2015
- ベストアンサー率51% (241/468)
こんにちは Sheet1に年月を表示する列を追加して、Sheet2にピボットテーブルで 集計するのはどうですか?
お礼
難しそうです…
お礼
ありがとうございます。 出来ました!