各項目の出現回数をカウントしたい約 5,000 行のリストがあります。
このリストには約 300 ~ 400 個の異なる項目が含まれています。
300以上のユニークな数式を入力する代わりに、
=COUNTIF(A1:A5000,"A")
=COUNTIF(A1:A5000,"B")
=COUNTIF(A1:A5000,"C")
=COUNTIF(A1:A5000,"D")
=COUNTIF(A1:A5000,"E")
ETC to 300...
何らかの強化された式を使用してこの目標を達成する方法はありますか?
以下は、私が達成しようとしていることを示しているため、以前に投稿された質問から借用したリストの例です。ただし、私の場合は、A、B、C、D、E だけでなく、300 〜 400 の異なる項目があります。
「次のようなアイテムのリストがあります:」
A
B
C
A
A
B
D
E
A
「ここで、各項目の出現回数をカウントします。結果は次のようになります。」
A 4
B 2
C 1
D 1
E 1
元の質問を投稿してくれた RoflcoptrException に感謝します。
答え1
答え2
数式ではなく、VBA Macro
さまざまな項目の発生回数をカウントする最も速い方法を提案したいと思います。
使い方:
カウントする項目の一意のリストを作成するには、セル内の配列 (CSE) 数式を使用します
C68
。{=IFERROR(INDEX($A$68:$A$78, MATCH(0,COUNTIF($C$67:C67, $A$68:$A$78), 0)),"")}
フォーミュラを仕上げるCtrl+Shift+Enter&記入してください。
どちらかを押すAlt+F11またはRシートのTabをクリックして五コードを表示します。
VBエディタウィンドウで私nsertコマンドクリックまオドル。
Cオピ &ポこのコードを使用します。
Public Function CountString(SearchFor As String, InRange As Range) As Long Dim wbcs As Long, rng As Range, addr As String For Each s In Worksheets addr = InRange.Address Set rng = s.Range(addr) wbcs = wbcs + Application.WorksheetFunction.CountIf(rng, "*" & SearchFor & "*") Next s CountString = wbcs End Function
ワークブックをマクロ有効 (.xlsm) として保存します。
セルに次の数式を入力して
D68
、下方向に塗りつぶします。
=CountString($C68,A$68:A$78)
- 複数の列の出現回数をカウントするには、次のような数式を使用できます。
=CountString($C68,A:C)
必要に応じて数式内のセル参照を調整します。