如果列包含值且這些行包含另一個值,則條件格式

如果列包含值且這些行包含另一個值,則條件格式

我正在尋找一種使用兩個條件對列中的單元格進行條件格式(突出顯示)的方法:

  1. 如果儲存格值存在於 A 列中
  2. 如果對應「B」儲存格中的值包含特定值

例子:

步驟1

  • D1 是否出現在 A 列 -是的

第2步

  • 儲存格 B1、B4 或 B8 是否包含值(“asd”)-是的

注意:A1、A4 和 A8 是包含 D1 中的值(在本例中為 123)的所有單元格,並且值「asd」旨在是我手動輸入的任何值

結果突出顯示單元格 D1

在此輸入影像描述

另一個注意事項:

*COUNTIFS() 在這種情況下不起作用,因為目的是能夠將條碼掃描到 D 列,並在單獨掃描所有 1000 個條碼時詢問該條碼是否為「asd」。如果是則將箱子放在該托盤上,如果不是則將箱子放在另一個托盤上。

我還想讓硬編碼值動態化以解決潛在的拼寫錯誤,假設我正在掃描“asd”,但“B”列中的值被錯誤地寫為“asdf”。

答案1

在 D 列上使用此條件格式公式(如果需要,請調整範圍)。

=AND($D1<>"",IF(SUM(--(IF($A$1:$A$8=D1,$B$1:$B$8,"")="asd")),TRUE,FALSE))

請注意,asd是硬編碼在公式中的。引用另一個包含 contains 的儲存格可能是一個更好的主意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,那麼您就知道有匹配。

相關內容