次の 2 つの条件を使用して、列内のセルを条件付き書式 (強調表示) する方法を探しています。
- セル値が列Aに存在する場合
- 対応する「B」セルの値が特定の値を含む場合
例:
ステップ1
- D1は列Aに存在するか -はい
ステップ2
- セルB1、B4、またはB8に値(「asd」)が含まれていますか?はい
注: A1、A4、A8 はすべて D1 の値 (この場合は 123) を含むセルであり、値 "asd" は手動で入力した任意の値です。
結果ハイライトセルD1
もう一つの注意:
*COUNTIFS() はこのシナリオでは機能しません。その目的は、バーコードを列 D にスキャンし、1000 個のバーコードを個別にスキャンして、このバーコードが「asd」かどうかを質問することだからです。「asd」の場合は、このパレットにボックスを置き、そうでない場合は別のパレットにボックスを置きます。
また、潜在的な入力ミスを考慮して、ハードコードされた値を動的にしたいと思っています。たとえば、「asd」をスキャンしているのに、列「B」の値が誤って「asdf」と入力されている場合などです。*
答え1
この条件付き書式設定式を列 D に使用します (必要に応じて範囲を調整します)。
=AND($D1<>"",IF(SUM(--(IF($A$1:$A$8=D1,$B$1:$B$8,"")="asd")),TRUE,FALSE))
asd
は数式にハードコードされていることに注意してください。 を含む別のセルを参照する方asd
が、必要に応じて更新しやすくなります。
(Excel の黄金律は、可能な場合はセル参照を使用することです。決して値を数式にハードコードしないでください)
説明:
これはIF(SUM(--(IF($A$1:$A$8=D1,$B$1:$B$8,"")="asd")),TRUE,FALSE)
、列 B 内のセル (列 D と一致する列 A のセルに隣接) が に等しいかどうかを確認しますasd
。
--(TRUE, FALSE)
はバックグラウンドで になり(1,0)
、列 B のいずれかの値が一致するかどうかを合計しasd
、合計が 1 より大きい場合は一致していることがわかります。