Excel countif スタイルでフィルタリング

Excel countif スタイルでフィルタリング

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

出典ここ

  1. Alt+を押してF11Visual Basic エディターを起動します。
  2. 挿入 > モジュール
  3. 上記のコードを挿入
  4. 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)されます。スタイルの名前として、リボンに表示される名前を使用しました。

関連情報