コンテンツにスキップ

DISPLAYCOLOR

種類: EGTools 専用関数

範囲の各セルの塗りつぶし色または文字色を返します。

構文

=DISPLAYCOLOR(色範囲, [文字色], [条件付き書式])

引数

引数 必須 説明
色範囲 必須 色を調べるセル範囲
文字色 省略可能 TRUE で文字色、既定 FALSE=塗りつぶし色
条件付き書式 省略可能 TRUE で条件付き書式を反映した表示色を使用(関数のシートがアクティブな時のみ正確)、既定 FALSE=セルに設定した色

戻り値

各セルの背景色(文字色=TRUE の場合はフォントの色)の値を、範囲と同じサイズの数値配列として返し、スピルされます。既定はセルに設定した書式の色で、条件付き書式=TRUE の場合は条件付き書式が反映された表示色です。セル数が 100,000 個を超える場合や、COM 接続・色の読み取りに失敗した場合は #VALUE! を返します。

例

数式 結果 説明
=DISPLAYCOLOR(A1:B2) 各セルの背景色番号(セルの書式によって結果が異なります)
=DISPLAYCOLOR(A1:B2,,TRUE) 条件付き書式が反映された表示色番号(セルの書式によって結果が異なります)

解説

  • 既定(条件付き書式を省略/FALSE)では、セルの書式に直接設定した色(Interior.Color / Font.Color)のみを使用し、条件付き書式で塗られた色は無視します。どのシートがアクティブでも、別のシートの編集や F9・全再計算を行っても結果は安定しているため、条件付き書式の色がどうしても必要な場合を除き既定値をお勧めします。
  • 条件付き書式=TRUE の場合は、条件付き書式が反映された実際の表示色(DisplayFormat)を使用します。条件付き書式の色が正しく反映されるのは、関数のあるシートがアクティブな状態で再計算された場合のみです。
  • 注意: 条件付き書式=TRUE のとき、別のシート(または別のブック)がアクティブな状態で再計算されると(そのシートの編集、F9、全再計算のいずれでも)、条件付き書式の色を正しく読み取れず誤った値になります。これらの関数は揮発性のため、別のシートを編集するだけで再計算され、実際によく発生します。
  • 注意: こうして生じた誤った値は、関数のシートに戻ってもそのまま残ります。関数のシートがアクティブな状態で F9 を押すと正しい値に戻ります。
  • 注意: 条件付き書式の色を基準に集計する必要がある場合は、できるだけ条件付き書式の条件そのもので集計することをお勧めします(例: =COUNTIF(A1:A10,">5"))。
  • セル参照を受け取るマクロ型関数のため、Excel は揮発性(volatile)関数として扱い、ブック内のどこかで値が変わると再計算されます。一方、セルの色や条件付き書式のルールを変更しただけでは再計算されないため F9 が必要で、マルチスレッド再計算からも除外されます。
  • 第2引数(文字色)までを使った既存の数式はそのまま互換です。ただし条件付き書式の色に依存していた既存の数式は、第3引数に TRUE を指定しないと以前と同じ結果になりません。
  • 対応: Excel 2010+。すべての Excel バージョンで DISPLAYCOLOR の名前のまま登録されます。