- ベストアンサー
月次請求のランダムな合計金額の計算方法は?
- 月次請求がランダムな場合、合計金額の計算方法を教えてください。
- 【売上管理】で月別の合計金額を自動計算する方法を教えてください。
- 技術部の8月の合計金額は150円、工事部の5月の合計金額は350円という計算方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
この条件ではVBA(マクロ)組み込みしかないと思う。 仮に請求月列の「各月」を「1,2,~,12」にすれば関数でも可能です。 例えば、ご例示の請求一覧(月次)Sheet1のA1:C5、Sheet2の1行目は月、A2には部署名とします。 B2に=SUMPRODUCT((Sheet1!$A$2:$A$5=$A2)*ISNUMBER(FIND(B$1,Sheet1!$B$2:$B$5))*(Sheet1!$C$2:$C$5))として縦横にコピー
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! VBAになってしまいますが・・・ 一例です。 Sheet1のデータをSheet2に表示するようにしてみました。 Sheet3を作業用のSheetとして使用していますので、Sheet3は使用していないという前提です。 Sheet2は↓の画像のような配置とさせていただいています。 画面左下にあるSheet2のSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので 下のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i, j, k, L As Long Dim myArray, vl As Variant Dim ws1, ws3 As Worksheet Set ws1 = Worksheets("sheet1") '←「sheet1」の部分は実際のSheet名に! Set ws3 = Worksheets("sheet3") j = Cells(Rows.Count, 1).End(xlUp).Row If j > 1 Then Range(Cells(2, 1), Cells(j, 13)).ClearContents End If Application.ScreenUpdating = False For i = 2 To ws1.Cells(Rows.Count, 1).End(xlUp).Row myArray = Split(ws1.Cells(i, 2), ",") For L = 0 To UBound(myArray) ws3.Cells(i, 1) = ws1.Cells(i, 1) ws3.Cells(i, L + 2) = myArray(L) If WorksheetFunction.CountIf(Columns(1), ws1.Cells(i, 1)) = 0 Then Cells(Rows.Count, 1).End(xlUp).Offset(1) = ws1.Cells(i, 1) End If Next L Next i For j = 2 To Cells(Rows.Count, 1).End(xlUp).Row For k = 2 To 13 For i = 2 To ws3.Cells(Rows.Count, 1).End(xlUp).Row For L = 2 To ws3.Cells(i, Columns.Count).End(xlToLeft).Column If ws3.Cells(i, 1) = Cells(j, 1) Then If ws3.Cells(i, L) = "各月" Or ws3.Cells(i, L) = Cells(1, k) Then vl = vl + ws1.Cells(i, 3) End If End If Next L Next i Cells(j, k) = vl vl = 0 Next k Next j Application.ScreenUpdating = True ws3.Cells.ClearContents End Sub 'この行まで ※ 余計なお世話かもしれませんが、Sheet1の部署はいくつあっても対応できるようにしてみました。 ※ Sheet2の部署のA列は入力しなくてOKです。 ※ Sheet2の1行目だけは入力しておきます。 参考になれば良いのですが・・・m(_ _)m
- edomin7777
- ベストアンサー率40% (711/1750)
基本的に【請求一覧(月次)】の書式を変えないと無理。 一つのセルの中に「2,3,4,5」って入っているの?
補足
はい。1つのセルに「2,3,4,5」と入っています。
お礼
何度も申し訳ございません。 教えて頂いた計算で殆ど問題無かったのですが 一点、10月や11月などの月「10,11,12」などが請求月にあった場合、1月にも合算して計算されてしまいます。こちらを回避する方法はございませんでしょうか? 何度も申し訳ございません。
補足
ありがとうございます! 各月を使用せずに1,2~12で各月を表示した場合で、 請求一覧のSheet1はAに部署、Bに請求月、Cに金額。 【売上管理/技術部/月次】Sheet2の1行目が月、2行目が技術部の各月の合計額とした場合で、教えて頂けると有り難いです。 申し訳ございませんが宜しくお願い申し上げます。