同人誌PDF版 販売中!!

スポンサー

Excel 自作関数 CountColorを作ってみた!

Excel
Excel

皆さんこんにちは!今晩は!!ロト君です。さて、今回は。Excelの自作関数を作りましたので、そちらの紹介をしてみたいと思います。

自作関数とは?

自作関数とは?標準の関数である、SUMなどの関数を自分で作る事です。

今回紹介するモノは、セルの背色を取得しカウントするモノです。これを扱う場合は、Excelのマクロを有効化しておく必要があります。

実際に作った関数

実際に作った関数はこんな感じです。

Function CountColor(計算範囲, 条件色セル)
Dim x, y As Long
    CountColor = 0
    For y = 1 To 計算範囲.Columns.Count
        For x = 1 To 計算範囲.Rows.Count
            If 計算範囲.Rows(x).Columns(y).Interior.ColorIndex = 条件色セル.Interior.ColorIndex Then
                CountColor = CountColor + 1
            End If
        Next
    Next
End Function

計算範囲から指定した条件色(セルの色)を取得しカウントします。

使い方

使い方はこんな感じです。

=CountColor(A1:F10,A11)

上記の様に指定すれば、A11のセル色のカウントをA1:F10の範囲で所得します。

まとめ

なぜ?今回こんな自作関数を作ったかといいますと、セルで色分けしたマスのカウントを様々な条件で取得したかったので行いました。

実際の計算は、CountColor関数の他にもVBAを更に組み込んで自動的に、取得できる様なモノを作っています。

Range()中の列番を数字→文字に変換したりもしています。こんな感じの関数ですね!

Function ConvertToLetter(iCol As Long) As String
    Dim a As Long
    Dim b As Long
    a = iCol
    ConvertToLetter = ""
    Do While iCol > 0
        a = Int((iCol - 1) / 26)
        b = (iCol - 1) Mod 26
        ConvertToLetter = Chr(b + 65) & ConvertToLetter
        iCol = a
    Loop
End Function

上記の関数は説明の通り。列番号を列文字に変換しています。

今回のCountColor関数と併用すれば、任意の動的なセルの背色を取得できますね!!

では、今回はここまでで!(*”▽”)ノシ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA