重複なしでセルの個数を数えるユーザー定義関数

Pocket

Excelには、「COUNT」という、値の個数を数えるワークシート関数があります。
同じようにして、重複する値を除き、一意の値だけを数えるユーザー定義関数「COUNTUNIQUE」を作ってみました。

Function COUNTUNIQUE(ParamArray Elements())
    Dim a(1000)
    Dim c, i, j As Long
    Dim flg As Boolean
    Dim ub As Long
    Dim rng, rngs As Range
    ub = UBound(Elements())
    i = 0
    For c = 0 To ub
        Set rngs = Elements(c)
        For Each rng In rngs
            If Not IsEmpty(rng.Value) Then
                flg = True
                If i > 0 Then
                    For j = 0 To i - 1
                        If rng.Value = a(j) Then
                            flg = False
                            Exit For
                        End If
                    Next j
                End If
                If flg = True Then
                    a(i) = rng.Value
                    i = i + 1
                End If
            End If
        Next
    Next c
    COUNTUNIQUE = i
End Function

「=COUNTUNIQUE(A1:C10)」のように引数にセル範囲を指定します。

[ 2012年10月2日 | カテゴリー: Excel | タグ: , , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報