- 締切済み
Excelの集計について教えてください。
Excelの集計について教えてください。 集計すると、集計合計が挿入されますが、その行に全ての項目名を表示する方法はありませんか? (例) 担当 顧客名 品名 単価 数量 ◎◎◎ ・・・・ NNNN 500 5 ◎◎◎ ・・・・ NNNN 500 58 ・・・・;合計 1000 63 で表示されますが、担当名・品名 など全ての項目名を合計行に表示して 集計する方法はありませんか? 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
そういうことは操作では出来ないようです。 VBAでならできるようだが。 ーー 例データ 費目 金額 食費 1 食費 2 食費 3 雑費 4 雑費 5 ーー 普通にデーター集計 費目 金額 食費 1 食費 2 食費 3 食費 合計 6 雑費 4 雑費 5 雑費 合計 9 総計 15 ーーー 例データ 大費目 費目 金額 生活費 食費 1 生活費 食費 2 生活費 食費 3 例外 雑費 4 例外 雑費 5 ーー 大費目、費目、金額を範囲指定して操作 大費目 費目 金額 生活費 食費 1 生活費 食費 2 生活費 食費 3 生活費 合計 0 6 例外 雑費 4 例外 雑費 5 例外 合計 0 9 総計 0 15 ーー または (費目、金額を範囲指定) 大費目 費目 金額 生活費 食費 1 生活費 食費 2 生活費 食費 3 食費 合計 6 例外 雑費 4 例外 雑費 5 雑費 合計 9 総計 15 ーーー VBAなら 例データ 大費目+費目列でソート済みを仮定 F1:H9 大費目 費目 金額 生活費 食費 1 生活費 食費 2 生活費 食費 3 例外 雑費 4 例外 雑費 5 交際 慶弔費 3 交際 慶弔費 4 その他 その他 7 ーー VBAでは コード 標準モジュールに Sub test01() m = Cells(2, "F") & Cells(2, "G") st = 2 k = 2 While Cells(k, "F") <> "" s = Cells(k, "F") & Cells(k, "G") If s = m Then k = k + 1 Else MsgBox k m = Cells(k, "F") & Cells(k, "G") Rows(k).Insert Shift:=xlDown Cells(k, "F") = Cells(k - 1, "F") Cells(k, "G") = Cells(k - 1, "G") & "合計" MsgBox st & "=>" & k Cells(k, "H") = WorksheetFunction.Subtotal(9, Range("H" & st & ":H" & k - 1)) st = k + 1 k = k + 2 End If Wend Cells(k, "F") = Cells(k - 1, "F") Cells(k, "G") = Cells(k - 1, "G") & "合計" MsgBox st & "=>" & k Cells(k, "H") = WorksheetFunction.Subtotal(9, Range("H" & st & ":H" & k - 1)) End Sub ーー 結果 大費目 費目 金額 生活費 食費 1 生活費 食費 2 生活費 食費 3 生活費 食費合計 6 例外 雑費 4 例外 雑費 5 例外 雑費合計 9 交際 慶弔費 3 交際 慶弔費 4 交際 慶弔費合計 7 その他 その他 7 その他 その他合計 7 ーー 結構、このロジックは簡単なようで、難しいコードだと思います。 行挿入をすると処理業がずれるからです。 全トータルを出してません(時間がなく手抜き)
- hana-hana3
- ベストアンサー率31% (4940/15541)
お礼
ご解答有難う御座いました。 かなり難しそうですがトライしてみます。