我實際上是在嘗試編寫一個公式來匹配並在整個列中找到日期。所以假設我有這樣的東西sheet1
:
A | B
--------------------
ID | Date1
--------------------
101 |10/24/2018
201 |01/21/2019
301 |04/30/2018
並sheet2
包含 ID 和 Date2,結果列應如下所示:
A | B | C
---------------------------------
ID | Date2 | Result
---------------------------------
201 |04/29/2018 | FALSE
410 |04/30/2018 | NA
101 |10/24/2018 | TRUE
201 |03/29/2019 | TRUE
101 |03/20/2018 | FALSE
501 |04/30/2018 | NA
301 |03/30/2018 | FALSE
310 |04/30/2018 | NA
310 |04/30/2017 | NA
因此,如果 ID 為 101 的 Date1(10/24/2018) 大於或等於 Date2(03/20/2018),則結果列應為 false 或 true。如果 ID 或日期不符/不存在,則應為 NA。
我嘗試使用 COUNTIF() 和 LOOKUP() 但沒有鍛鍊!我嘗試過的公式如下所示:
=IF(COUNTIF(sheet2!A2:sheet2!A109944,sheet1!A2)>0,IF(COUNTIF(sheet2!B2:sheet2!B109944,">="&sheet1!B2),"False")),"True")
以及找公式:
=IFERROR(LOOKUP(2,1/(sheet1!A2=sheet2!A2:sheet2!A109944)*(sheet1!B2>=sheet2!B2:sheet2!B109944),"True")"False")
誰能幫我解決這個問題嗎?提前致謝。
答案1
您可以使用 INDEX 和 MATCH 來做到這一點:
D2中的公式:
=B2>=INDEX(Sheet1!$B$2:$B$4,MATCH(A2,Sheet1!$A$2:$A$4,0))
MATCH 在 Sheet1 上尋找 ID,INDEX 傳回關聯的日期。然後將其與 Date2 進行比較並傳回 TRUE/FALSE 結果。
當 ID 不符合時,這會傳回錯誤條件 #N/A ,而不是 NA 。
如果你確實更喜歡 NA,你可以將其包裝在 IFERROR 中:
=IFERROR(B2>=INDEX(Sheet1!$B$2:$B$4,MATCH(A2,Sheet1!$A$2:$A$4,0)),"NA")
這將用 NA 文字取代 #N/A: