На самом деле я пытался написать формулу для сопоставления и поиска даты во всем столбце. Предположим, у меня есть что-то вроде этого в 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
Итак, если Date1(10/24/2018) с ID 101 больше или равна 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 находит ID на Sheet1, а INDEX возвращает связанную дату. Затем он сравнивает ее с Date2 и возвращает результат TRUE/FALSE.
Если идентификатор не совпадает, возвращается ошибка #N/A, а не NA.
Если вы действительно предпочитаете NA, вы можете обернуть это в IFERROR:
=IFERROR(B2>=INDEX(Sheet1!$B$2:$B$4,MATCH(A2,Sheet1!$A$2:$A$4,0)),"NA")
Это заменит #N/A на текст NA: