別のデータベースからExcelにエクスポートされた名前のリストがあります。関心のあるリスト内の名前は、赤いフォントで強調表示されています。それを数える方法が欲しいのですが、ジョン・スミスは列に合計5回表示されますが、5回のうち3回は、彼の名前が赤いフォントで強調表示されます。それで、彼の名前のインスタンスがいくつ赤く表示されるかを確認したいと思います。
私は彼の名前のすべてのインスタンスを検索する方法を知っています。 = COUNTIF(A1:A100、 "ジョンスミス")
また、これを使用して、ワークシート内の赤(= SumRed)(カラーインデックスが指定された後)のすべての値をカウントするVB関数を作成するのに役立ちました:
Function SumRed(MyRange As Range)
SumRed = 0
For Each cell In MyRange
If cell.Font.Color = 255 Then
SumRed = SumRed + cell.Value
End If
Next cell
End Function
2つのカウント条件を組み合わせる方法が見つかりません。どんな助けでも大歓迎です!
これにはVBAは必要ありませんが、VBAソリューションが必要な場合は、他の2つの答えのいずれかを使用できます。 :)
Excelの数式を使用して、セルのフォントの色を見つけることができます。この例を参照してください。
XL4マクロを使用します。
FontColor
と言います=GET.CELL(24,OFFSET(INDIRECT("RC",FALSE),0,-1))
を参照」に入力し、[OK]をクリックします式の説明
構文は
_GET.CELL(type_num, reference)
Type_num is a number that specifies what type of cell information you want.
reference is the cell reference
_
上記の数式で、数値_24
_は、セルの最初の文字のフォントの色を1〜56の範囲の数値として示します。フォントの色が自動の場合、0を返します。したがって、欠点があります。フォント全体の色が赤であることを確認してください。 64を使用することもできましたが、正しく機能していません。
OFFSET(INDIRECT("RC",FALSE),0,-1)
は、左側の直接のセルを指します。
次に、この数式をセル=IF(AND(Fontcolor=3,B1="John Smith"),1,0)
に入力し、コピーします。
注:数式は、テキストを含むセルの右側に入力する必要があります。
Screentshot
編集(2013年10月12日)
特定の背景色のセルをカウントするには、 [〜#〜] this [〜#〜] linkを参照してください。
私はあなたがほとんどそこにいると思いますが、これは別の関数に値します@userは私をオチに賭けます:(
_Function CoundRedAndText(MyRange As Range, Mytext as string) as long
CoundRedAndText = 0
For Each cell In MyRange
If cell.Font.Color = 255 and cell.value like MyText Then
CoundRedAndText = CoundRedAndText + 1 'you had cell.value but dont know why?
End If
Next cell
End Function
_
使用法、=CountRedAndText(A1:A25, "John Smith")
For Each cell In Range("A1:A100")
If cell.Font.Color = 255 And cell.Value = "John Smith" Then
myCount = myCount + 1
End If
Next