- 締切済み
EXCELでの項目別集計
皆さんのお知恵をお貸し下さい。 複数行、複数列にまたがって名前が入力されています。 名前ごとの集計をとりたいのですが、 どうやったらよいでしょうか 田中 山本 斉藤 斉藤 伊藤 山崎 田中 これを 田中 2 山本 1 斉藤 2 伊藤 1 山崎 1 という風に集計をとりたいのですがピボットテーブルではうまくいきません。 名前は特定できるものでなくいくつも種類があるのでCOUNTIFでは対応できません。 何か用意方法はないでしょうか よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- n-jun
- ベストアンサー率33% (959/2873)
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)
自分は、確認できませんがこんな過去ログありました 参考になりすか? 複数列のデータを1列にまとめるには? http://oshiete1.watch.impress.co.jp/qa4077653.html これでうまく一列にできれば、「COUNTIF」つかえますね