web-dev-qa-db-ja.com

スタイルでフィルタリングされたExcelのcountif

Excelスプレッドシートがあり、列の一部のセルに適用されているスタイルに基づいて列の行をカウントしようとしています。これを行う簡単な方法はありますか?

3
Bill Weinman

いいえ、そうではありません。 Visual Basicを使用してセルの書式設定プロパティにアクセスできますが、セルに入力するほとんどの組み込み関数は、書式設定ではなく、セルの内容に焦点を合わせます。

スタイルのシェーディングカラーが異なる場合は、次の方法を使用できます。

ステップ1:範囲をリストに変換してから、COUNTを示す合計行を追加します

enter image description here

手順2:カラーフィルターを適用します(Excel 2007以降で機能するはずです)。

enter image description here

完了:COUNTの合計には、フィルタリングされた行数が表示されます。

enter image description here

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+F11 VisualBasicエディタを起動します。
  2. 挿入>モジュール
  3. 上記のコードを挿入
  4. Excelに移動し、結果が表示されるセルを選択します。 =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)結果が得られます。スタイルの名前として、リボンに表示されている名前を使用しました。

0
testing