Формула Excel для поиска даты в заданном диапазоне (весь столбец)

Формула Excel для поиска даты в заданном диапазоне (весь столбец)

На самом деле я пытался написать формулу для сопоставления и поиска даты во всем столбце. Предположим, у меня есть что-то вроде этого в 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:

введите описание изображения здесь

решение2

Попробуйте эту формулу:

=IFERROR(IF(AND(COUNTIF(Sheet1!A:A,Sheet2!A2)=1,B2<VLOOKUP(A2,Sheet1!A:B,2,FALSE)),"False",IF(AND(COUNTIF(Sheet1!A:A,Sheet2!A2)=1,OR(B2=VLOOKUP(A2,Sheet1!A:B,2,FALSE),B2>VLOOKUP(A2,Sheet1!A:B,2,FALSE))),"TRUE")),"NA")

введите описание изображения здесь

Связанный контент