web-dev-qa-db-ja.com

別のシートからの条件付き書式設定

シートAにセルを配置して、シートBのセルの値が>または<であるかどうかを確認し、それに応じて色を変更しようとしています。私が使用するカスタム式では、=A1>("SheetB!A1")を使用していますが、機能しないようです。 >に緑色を使用し、<に赤色を使用します。ルールが保存されるたびに、シートAのA1は常に赤で表示されます。

機能は間違っていますか?または、シート全体を検索しても条件付き書式を使用することはできませんか?

22
Josh

何らかの理由で(理由はわかりませんが)、条件付き書式のカスタム数式はクロスシート参照を直接サポートしていません。

ただし、クロスシート参照はサポートされています [〜#〜] indirect [〜#〜] -ly:

=A1>INDIRECT("SheetB!A1")

または、SheetAのA1:B10とSheetBのA1:B10を比較する場合は、次を使用します。

=A1>INDIRECT("SheetB!A1:B10")

=A1>INDIRECT("SheetB!"&CELL("address",A1))

範囲A1:B10に適用されます。

43
AdamL

これを行うには、現在のシートのセルと行番号を参照します。そのため、その条件付き書式を他の行にドラッグコピーすると、正しいセルが参照されます。次の式では、この例の「otherSheetName」という名前の別のシートのセルとまったく同じセルに基づいてセルを着色しています。たとえば、otherSheetNameのセルB2に「I Like Dogs」というテキストが含まれている場合、Sheet2のセルB2に色を付けるには、セルSheet2!B2に移動し、条件の書式設定をクリックして、ドロップダウンから式を選択し、以下の式を貼り付けます。

=IF(INDIRECT("otherSheetName!"&ADDRESS(ROW();COLUMN()))="I Like Dogs";1;0)
3
user34612

条件付き書式ルールの数値ではなく文字列を比較するには、次を使用できます。

=EXACT(A1,(INDIRECT("Sheet2!A1")))

大文字と小文字を区別。

0
skkeptickle

トリック/バグが1つあります。Sheet1に明示的にそれ自体を参照する条件付き書式がある場合(たとえば、式がSheet1!$C$2)、Paste special > conditional formattingを使用して条件付き書式をSheet2にコピーできます。 "...あなたが何も触れないでください

  • sheet2で条件付き書式を編集しようとすると、「無効な数式」エラーが表示されます。
  • 条件付き書式に影響するようにSheet1の列/行が変更された場合(行/列の挿入など)、これはSheet2に反映されません(@AdamLで言及されたindirectトリックも反映しないことに注意してください)列/行のいずれかが更新されるため、この点でウォッシュです)。
0
kuporific