テキストの色でセルを数える(Microsoft Excel)
Michalaには、さまざまな色のさまざまなテキストを含む調査回答のワークシートがあります。たとえば、調査の回答が「犬が嫌い」の場合、「犬」という単語は赤で表示され、残りのテキストは黒で表示されます。応答には複数の色が含まれている場合があります。たとえば、「犬と猫が好きです」という応答では、「犬」という単語が赤で、「猫」という単語が青で表示されます。 Michalaは、セルの範囲を強調表示し、赤や青などの特定の色のテキストを含むセルの数を数える方法を必要としています。
これは、カウントを実行できるユーザー定義関数を開発することによって最もよく行われます。次の例では、セルの範囲をステップスルーし、指定したカラーインデックス値をカウントします。
Function CountColorIndex(rng As Range, iColor As Integer) Dim v As Variant Dim rCell As Range Dim str As String Dim sChar As String Dim x As Integer Dim iCount As Integer iCount = 0 For Each rCell In rng v = rCell.Font.ColorIndex If IsNull(v) Then For x = 1 To Len(rCell.Value) If rCell.Characters(x, 1).Font.ColorIndex _ = iColor Then iCount = iCount + 1 Exit For End If Next ElseIf v = iColor Then iCount = iCount + 1 End If Next CountColorIndex = iCount End Function
この関数は、最初にセル全体のフォントの色を調べます。セルの色がNullの場合、個々の文字の色が変更されているため、関数は各文字の調査を開始します。一致する色が見つかると、カウント(iCount)がインクリメントされ、関数は各文字の検索を停止します。
セルの色がNullでない場合、関数はセル全体のフォントの色が目的の色と一致するかどうかを判断します。含まれている場合は、カウントが増加します。
このプロセスは、指定された範囲内のセルごとに繰り返され、関数はカウントの値を返します。この関数は次のように使用します:
=CountColorIndex(B7:D42,3)
この数式は、範囲B7:D42をチェックして、赤色のインスタンスがあるかどうかを確認します。次に、カウントが式によって返されます。
この関数はカラーインデックス値に依存していることに注意してください。
赤の通常のデフォルト値は3、青の値は5ですが、これらの値はユーザーが変更でき、使用しているExcelのバージョンによって異なる場合があります。関数が目的の結果を返すようにするには、数式の2番目のパラメーターで指定されたカラーインデックス値を変更して、特定のブックで使用されるカラーインデックスを表すようにする必要があります。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(2901)は、Microsoft Excel 97、2000、2002、および2003に適用されます。