web-dev-qa-db-ja.com

1つの列の値が変更されたときのExcelの代替グリッドの背景色?

1つの列が変更されたときにExcel 2010スプレッドシートで代替の強調表示を行うための条件付き書式の式が必要です。この質問「 単一の列の値が変更されたときにExcelでグリッドの背景色を変更するにはどうすればよいですか? 」はまさに私がやりたいことですが、提案された解決策は私にとってうまくいきませんでした- -一致する各値の最初の行を強調表示するだけです。

条件付き書式の使用方法は知っていますが、これまでのところ、これを機能させるためのネット上のポインタを見つけ出すことはできません。アイデア?

これは、完了したときにスプレッドシートをどのように表示するかを示す画像へのリンクです。基本的に、Disp Numberの値の行を1つおきに強調表示します。やりたいことはありふれたことのようで、色々なところにこれが求められているのを見てきましたが、うまく動かないと苦労しています。

希望する最終結果の画像

13
Sharon

この回答は、stackoverflow.comから直接コピーされます Excelの行の代替カラーグループ

次の式を使用して、条件付き書式の入力を取得します。

_=IF(B2=B1,E1,MOD(E1+1,2))    [content of cell E2]
_

列Bにはグループ化する必要のあるアイテムが含まれ、Eは補助列です。上のセル(この場合はB1)が現在のセル(B2)と同じになるたびに、列Eの上の行の内容が返されます。それ以外の場合は、そのコンテンツに1 MOD 2を加えた値を返します(つまり、出力は、上部のセルの値に応じて0または1になります)。

enter image description here

enter image description here

enter image description here

MOD関数の代わりに、1-E1を使用できます。したがって、完全な式は=IF(B2=B1,E1,1-E1)です。

かなり似た方法が コンテンツに基づくカラーバンディング で説明されており、ダウンロード可能な例が含まれています。

14
harrymc

ヘルパー列をいくつか作成する場合は、これはずっと簡単です。たとえば、_Y2_を=($A2=$A1)に設定し、_Z1_をTRUEに設定し、_Z2_を=IF($Y2, $Z1, NOT($Z1))に設定して、ドラッグ/データがある最後の行まで_Y2:Z2_を入力します。列Zは、TRUEFALSEを希望どおりに交互に入れ替えます。もちろん、デバッグした列YZを非表示にすることができます。

これが明確でない場合:列Yのセルは、この行と前の行のAの値が同じかどうかを決定するため、FALSEになります。各新しい値の最初の行、そして残りのブロック全体でTRUEそして列Zはドミノのチェーンです-各値はその上の値に依存します。列Yの値がTRUEの場合、Zは上の行と同じ値を保持します。それ以外の場合は、Zが切り替わります。

3
Scott

1と0を交互に配置するヘルパー列には、MOD()関数は必要ありません。 E2の簡単な式は-

=IF(B2=B1,E1,1-E1)
1
user2168235