Excel スプレッドシートがあり、列内の一部のセルに適用されたスタイルに基づいて列内の行数をカウントしようとしています。これを行う簡単な方法はありますか?
答え1
いいえ、そうではありません。Visual Basic を使用してセルの書式設定プロパティにアクセスすることはできますが、セルに入力する組み込み関数のほとんどは、書式設定ではなくセルの内容に重点を置いています。
スタイルに異なるシェーディングカラーがある場合は、次の方法を使用できます。
ステップ1: 範囲をリストに変換し、COUNTを表示する合計行を追加します。
ステップ 2: カラー フィルターを適用します (Excel 2007 以降で動作するはずです)。
完了: COUNT の合計には、フィルタリングされた行数が表示されます。
答え2
そのために 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
出典ここ。
- Alt+を押してF11Visual Basic エディターを起動します。
- 挿入 > モジュール
- 上記のコードを挿入
- Excelを開いて、結果を入力するセルを選択します。例えば次のように入力します。
=CountStyle (B4:B23)
これで、スタイル のすべてのセルをカウントできましたNeutral
。neutral、good、bad の 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)
されます。スタイルの名前として、リボンに表示される名前を使用しました。