Excelスプレッドシートがあり、列の一部のセルに適用されているスタイルに基づいて列の行をカウントしようとしています。これを行う簡単な方法はありますか?
いいえ、そうではありません。 Visual Basicを使用してセルの書式設定プロパティにアクセスできますが、セルに入力するほとんどの組み込み関数は、書式設定ではなく、セルの内容に焦点を合わせます。
スタイルのシェーディングカラーが異なる場合は、次の方法を使用できます。
ステップ1:範囲をリストに変換してから、COUNTを示す合計行を追加します
手順2:カラーフィルターを適用します(Excel 2007以降で機能するはずです)。
完了:COUNTの合計には、フィルタリングされた行数が表示されます。
そのためにVBAを使用できます。
_Function CountStyle(CellRange)
Dim Item As Range, Total As Long
For Each Item In CellRange
' Check to see if the cell is formatted as Style = "Neutral"
If Item.Style = "Neutral" Then
Total = Total + 1
End If
Next Item
CountStyle = Total
End Function
_
ここ から取得。
=CountStyle (B4:B23)
これで、スタイルNeutral
のすべてのセルがカウントされました。ニュートラル、グッド、バッドの3つの関数を作成しました。これは次のようになります。
_Function CountStyleGood(CellRange)
Dim Item As Range, Total As Long
For Each Item In CellRange
' Check to see if the cell is formatted as Style = "Good"
If Item.Style = "Good" Then
Total = Total + 1
End If
Next Item
CountStyleGood = Total
End Function
_
ウィット=CountStyleGood(B4:B23)
結果が得られます。スタイルの名前として、リボンに表示されている名前を使用しました。