Я работаю с огромными данными, и мне нужно получать данные на основе значения ячейки и даты. Я понимаю, что моя задача может быть выполнена с помощью макроса, но мне нужна простая формула.
Проблема: у меня есть два файла Excel, скажем, File1 и File2. Первый выглядит примерно так: Даты в формате MM/DD/YYYY
.
A B C
-----------------------------------
Val1 myDate Result
-----------------------------------
AJSKD 12/12/1991
AJSKD 12/12/1992
AJSKD 11/10/1992
ASHDI 01/10/1992
И второй файл содержит:
A B C D
-----------------------------------------------------
Val2 data beginDate endDate
-----------------------------------------------------
AJSKD 21ASD 12/10/1992 12/31/1992
AJSKD 23AIO 10/10/1992 11/31/1992
ADSUI 21389 12/01/1993 02/21/1994
MKASI AS123 01/12/1994 04/01/1994
ASHDI 34AS1 01/11/1992 01/31/1992
Теперь я хочу получить фильтр AJSKD
в File2, что-то вроде этого: =IF(File1$A2=File2$A:A)
и когда это правда, я хочу другие критерии: =IF(AND(mydate>=beginDate,myDate<=endDate)
и когда оба условия выполняются, я хочу скопировать данные в результирующую ячейку.
Рассмотрим пример: я хочу заполнить столбец результатов A3. Поэтому я фильтрую записи в File2
на основе значения AJSKD
. По фильтрации я получаю:
A B C D
-----------------------------------------------------
Val2 data beginDate endDate
-----------------------------------------------------
AJSKD 21ASD 12/10/1992 12/31/1992
AJSKD 23AIO 10/10/1992 11/31/1992
Но так как myDate
связанный с AJSKD
в File1, это 12/12/1992
. Эта дата находится в промежутке между 12/10/1992
и 12/31/1992
, мне нужны данные 21ASD
а не 23AIO
.
Таким образом, результат должен быть таким:
A B C
-----------------------------------
Val1 myDate Result
-----------------------------------
AJSKD 12/12/1991 FALSE
AJSKD 12/12/1992 21ASD
AJSKD 11/10/1992 23AIO
ASHDI 01/10/1992 FALSE
Поскольку у меня есть миллион записей, я не могу фильтровать вручную и искать данные. Поэтому я пытался придумать формулу, которая будет работать над этим. Хорошо работает вторая часть, т.е. поиск по дате. Но я не могу построить формулу для первой части. Может кто-нибудь, пожалуйста, укажите мне в правильном направлении.
Заранее спасибо.