• 締切済み

Excelの集計について教えてください。

Excelの集計について教えてください。 集計すると、集計合計が挿入されますが、その行に全ての項目名を表示する方法はありませんか? (例) 担当 顧客名  品名 単価   数量 ◎◎◎ ・・・・ NNNN 500    5 ◎◎◎ ・・・・ NNNN  500    58   ・・・・;合計  1000   63 で表示されますが、担当名・品名 など全ての項目名を合計行に表示して 集計する方法はありませんか? 宜しくお願い致します。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

そういうことは操作では出来ないようです。 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 ーー 結構、このロジックは簡単なようで、難しいコードだと思います。 行挿入をすると処理業がずれるからです。 全トータルを出してません(時間がなく手抜き)

kadofumi2
質問者

お礼

ご解答有難う御座いました。 かなり難しそうですがトライしてみます。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1