• 締切済み

EXCELでの項目別集計

皆さんのお知恵をお貸し下さい。 複数行、複数列にまたがって名前が入力されています。 名前ごとの集計をとりたいのですが、 どうやったらよいでしょうか 田中  山本  斉藤      斉藤  伊藤 山崎  田中     これを 田中  2 山本  1 斉藤  2 伊藤  1 山崎  1 という風に集計をとりたいのですがピボットテーブルではうまくいきません。 名前は特定できるものでなくいくつも種類があるのでCOUNTIFでは対応できません。 何か用意方法はないでしょうか よろしくお願いいたします。

みんなの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

VBAで良ければ。 Sub test()  Dim Dic As Object  Dim v  Dim i As Long, j As Long  Set Dic = CreateObject("Scripting.Dictionary")  With Worksheets("Sheet1") 'シート名変更       v = .UsedRange.Value       For i = 1 To UBound(v, 1)           For j = 1 To UBound(v, 2)               If v(i, j) <> Empty Then                  If Dic.exists(v(i, j)) Then                     Dic(v(i, j)) = Dic(v(i, j)) + 1                  Else                     Dic(v(i, j)) = 1                  End If               End If           Next       Next       .Cells.ClearContents       .Range("A1").Resize(Dic.Count, 1).Value = Application.Transpose(Dic.keys)       .Range("B1").Resize(Dic.Count, 1).Value = Application.Transpose(Dic.items)  End With  Set Dic = Nothing End Sub ご参考程度まで。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.1

自分は、確認できませんがこんな過去ログありました 参考になりすか? 複数列のデータを1列にまとめるには? http://oshiete1.watch.impress.co.jp/qa4077653.html これでうまく一列にできれば、「COUNTIF」つかえますね