2013-11-15 10 views
15

私は初心者で、B2のセルの色に基づいてセルA1の内容を変更する式を作成しようとしています。Excel:セルの色に基づいて条件式を作成できますか?

セルB2 = [赤色]の場合、FQSを表示します。

セルB2 = [黄色]の場合、SMを表示します。

これは、セルの塗りの色に基づいて条件付きです。

+0

私はif関数を試しました。 =(B2 = 255,0,0、 'FQS')If(B2 = 255,255,0、 'SM')) –

答えて

16

残念ながら、単一の数式でこれを行う直接的な方法はありません。ただし、存在するかなり簡単な回避策があります。

Excelリボンで、「数式」に移動し、「名前マネージャー」をクリックします。 "New"を選択し、 "Name"に "CellColor"と入力します。

=GET.CELL(63,OFFSET(INDIRECT("RC",FALSE),1,1)) 

[OK]をクリックし、[名前マネージャ]ウィンドウを閉じます。

さて、セルA1に次のように入力します

=IF(CellColor=3,"FQS",IF(CellColor=6,"SM","")) 

これは、赤と黄色のためのSMのためFQSを返します。他の色については、セルは空白のままです。

*** A1の値が更新されない場合は、キーボードの「F9」を押して、Excelが強制的に計算を更新するようにします(またはB2の色が変わる場合)。 http://www.smixe.com/excel-color-pallette.html

乾杯:あなたは物事を展開したい場合は、以下の

は(利用可能な56がある)のセルのリストのための参照は色を埋めるあります。

:: 編集 ::

それがどのように動作するかの理解を助けている場合名前Managerで使用される式をさらに簡略化することができる(私は上記の含まれているバージョンは、より多くの柔軟性があり、する方が簡単です特定のセルB2を対象とするのではなく、参照ポイントとして独自のセルアドレスを使用するため、コピーしたときに複数のセル参照をチェックする際に使用します)。

あなたは物事を単純化したい場合はいずれかの方法では、あなたの代わりに名前マネージャでこの数式を使用することができます。

=GET.CELL(63,Sheet1!B2) 
+0

これは完全に機能していました。 – MrTheBard

+0

私は賞金に勝つのですか? :) – Derrik

+0

絶対に。私はそれを授与することができる前に、私は24時間待つ必要がありますが、間違いなく。それは魅力のように働いた!非常に巧妙な解決策。 – MrTheBard

7

あなたは(私はここでそれを見つけた:http://excelribbon.tips.net/T010780_Colors_in_an_IF_Function.html):この機能を使用することができます

ここで
Function GetFillColor(Rng As Range) As Long 
    GetFillColor = Rng.Interior.ColorIndex 
End Function 

は、ユーザー定義関数を作成する方法を説明、次のとおりです。ワークシートでhttp://www.wikihow.com/Create-a-User-Defined-Function-in-Microsoft-Excel

は、次のように使用することができます:=GetFillColor(B5)