• ベストアンサー

エクセルで、同じ項目が続く場合

例えば、セルA1~A5に「北海道」という文字が入っていて、B1,C2,D3,E4,F5にそれぞれ数値が入っている場合。「北海道」という列を一行にして、G1にB1~F5の合計を入れたいのですが・・・ 簡単な方法はないでしょうか?わかりにくい質問ですみません。 初心者で、よくわかりません。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.7

表が次のようになっているとします。     A   B  C  D  E  F  G  1 北海道  1  2 北海道     2  3 北海道        3  4 北海道           4  5 北海道              5 C1に =SUM(C2:C5) 、D1~F1にコピー G1に =SUM(B1:F1) 2~5行目を非表示で質問の通りになりますが・・・・ 少し拡張(想像)してみると、     A   B  C  D  E  F  G  1 府県  値1 値2 値3 値4 値5 合計  2 北海道  1              1  3 北海道     2           2  4 北海道        3        3  5 北海道           4     4  6 北海道              5  5  7 青森   7              7  8 青森      3           3 上の表のA~F列の2行目以下があったとします。 先頭に1行挿入して表題を付けます。G列2行目に =SUM(B2:F2) としてデータ数分下にコピーします。 データ部分(例えばA1)を選択した状態で、  データ→集計を実行       グループの基準=府県       集計の方法  =合計       集計するフィールド=値1~値5、合計にチェック       集計行をデータの下に挿入するにチェック      →Ok これで集計が実行され、左のレベルのボタン『2』を押すと     A   B  C  D  E  F  G  1 府県  値1 値2 値3 値4 値5 合計  7 北海道  1  2  3  4  5 15 10 青森   7  3          10 11 総計   8  5  3  4  5 25 が表示されるはずです。後半部分は状況を想像して書いています。ご参考に。

mix
質問者

お礼

ありがとうございます。「集計」で教えていただいたようにできました。 実は「北海道」の項目内にさらに分類があり、どうしようかと思っていたのですが地道にやりました。 なんとか完成しました。 皆様、どうもありがとうございました!!

その他の回答 (6)

  • suteneko
  • ベストアンサー率25% (37/146)
回答No.6

では、 1.の式を =SUM(C2:F5)+B1に変更し 3.として C1のセルに=C2,D1に=D3 ・・・と言う風に表示したい数値のアドレスを入れてあげれば・・・? 一応、形にはなるかしら? ちょっと、3.がめんどくさいですけど・・・。 この例くらいなら何とかなるでしょうけど件数が増えると~~。 なんか、上手な手がないか考えてみます・・・

mix
質問者

お礼

ありがとうございます。やりたいことは、そういうことです。 ただ、おっしゃる通り件数が数千になってしまったので・・・。マニュアルなどで探しているのですが、どんぴしゃのページが見つかりません。 もう少し続けさせてください。

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

VBAで良ければ Sub test01() Dim sh1, sh2 As Worksheet Set sh1 = Worksheets("sheet1") Set sh2 = Worksheets("sheet2") k = "" l = 1 s = 2 d = sh1.Range("a2").CurrentRegion.Rows.Count ' MsgBox d For i = s To d + s - 1 k = sh1.Cells(i, 1) For j = 2 To 8 'データのある列を探す If sh1.Cells(i, j) <> 0 Then Exit For Next j ' MsgBox j If k <> km Then 'A列内容が直前と変ったか l = l + 1 'シート2で次行を指す sh2.Cells(l, 1) = sh1.Cells(i, 1) 'シート2A列 End If sh2.Cells(l, j) = sh2.Cells(l, j) + _ sh1.Cells(i, j) 'シート2へ加算 km = sh1.Cells(i, 1) Next i End Sub テストデータ。()内はデータ入力のセルの位置 a(a2) 1(b2) a 2(c3) a 3(d4) a 4(e5) a 3(b6) b 1(b7) b 2(c8) b 3(d9) b 4(e10) c 2(c11) c 4(e12) 結果 a 4 2 3 4 b 1 2 3 4 c 2 4 (制約)改良も簡単ですが、上記では ・a,bは集まって出てくるものとする。 ・H列(=8)までのデータを対象としている。 ・一番左の列だけ足している。 (実行)ワークシートで ・ALT+F11(VBE画面) ・ALT+IとM(標準モジュール挿入) ・上記コードを貼り付け ・F5(実行)

  • HELL_MET
  • ベストアンサー率47% (16/34)
回答No.4

意味を取り違えているかもしれませんが・・・ >「北海道」という列を一行にして ここの意味が良く分かりませんが・・・ 「北海道の合計列をを作成する」と解釈し、上記の条件で答えを求めると。 まず、「北海道」の合計の列「北海道合計」を作成しその列の合計を 作成します。 A6にSUMIF($A:$A,"北海道",B1:B5)と書き、これをコピーします。 (セルの右下でマウスの矢印が+になったところで右にドラッグします) これで6行は北海道の合計行になります。 ここでG6にSUM関数で合計値を算出すれば一応ご要望のことは出来ると思います。 自分でも試してみましたので結果は出ると思います。

  • suteneko
  • ベストアンサー率25% (37/146)
回答No.3

1.G1に=SUM(B1:F5)という式を入れ、 2.2~5行目を表示しないにするのではだめですか? 1.はG5をクリックしてからツールバーの=をクリックしてSUM関数うをクリックし、計算させたい範囲を選択するか、直接指揮をG1に書き込む。でOKです。 2.は隠したい行を選択し、書式→行→表示しないでOKです。 書式→行→再表示で隠した行が再表示されます。 いかがでしょう?(^^)

mix
質問者

補足

説明不足でした。。。一行にした時に、B1からF1にも数値(B1からF5に入っていた)を入れたいのですが。

  • taranko
  • ベストアンサー率21% (516/2403)
回答No.2

範囲を指定して、データ→集計 これでいかがでしょう。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

セルA1~A5をセルの結合として 一つのセルにすることは できますよ。