こんばんは!
おそらく「赤外」「赤中」・・・といったデータを重複なしに表示することが大変だと思います。
それさえできればCOUNTIF関数で簡単に集計できると思います。
そこでVBAでの方法になってしまいますが、一例です。
Sheet1にデータ配置は↓の画像のようになっているものとします。
Sheet1のデータをSheet2のA列に表示させ、B列以降にそのデータ個数を表示させるようにしてみました。
Alt+F11キー → VBE画面が出ますので、画面左下の「This Workbook」をダブルクリックし
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub test() 'この行から
Dim ws1, ws2 As Worksheet
Dim i, j, k As Long
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
Application.ScreenUpdating = False
i = ws2.Cells(Rows.Count, 1).End(xlUp).Row
j = ws2.Cells(1, Columns.Count).End(xlToLeft).Column
Range(ws2.Cells(1, 1), ws2.Cells(i, j)).ClearContents
k = ws1.Cells(1, Columns.Count).End(xlToLeft).Column
Range(ws1.Cells(1, 1), ws1.Cells(1, k)).Copy Destination:=ws2.Cells(1, 2)
For i = 2 To ws1.UsedRange.Rows.Count
For j = 1 To k
If WorksheetFunction.CountIf(ws2.Columns(1), ws1.Cells(i, j)) = 0 Then
ws2.Cells(Rows.Count, 1).End(xlUp).Offset(1) = ws1.Cells(i, j)
End If
Next j
Next i
For j = 2 To ws2.Cells(1, Columns.Count).End(xlToLeft).Column
For i = 2 To ws2.Cells(Rows.Count, 1).End(xlUp).Row
ws2.Cells(i, j) = WorksheetFunction.CountIf(ws1.Columns(j - 1), ws2.Cells(i, 1))
Next i
Next j
Application.ScreenUpdating = True
End Sub 'この行まで
※ Sheet1のデータを重複なしに表示するだけのマクロでも良かったのですが、ついでに最後までやってしまいました。
※ データは何列・何行あっても対応できるようにしています。
※ Sheet1のデータ変更があるたびにマクロを実行する必要があります。
以上、お望みの方法でなかったらごめんなさいね。m(_ _)m
お礼
早速の回答有難うございます。 出来ました・・・感激!です。