Поиск между двумя таблицами по уникальному идентификатору И где дата находится между двумя другими датами - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть две таблицы в Excel.У одного есть ключ и дата - это может быть таблица A. У другого - ключ, дата начала, дата окончания и значение - назовем эту таблицу B.

Я пытаюсь получить в таблицу A значение из таблицы.B для ключа, где дата из таблицы A находится между датой начала и датой окончания таблицы B. Значение должно быть равно 0,4, как в приведенных ниже примерах.

ПРИМЕЧАНИЕ: перекрывающиеся даты и * никогда не будут перекрываться1005 * не должно иметь несколько строк для одного и того же диапазона дат.

Таблица A -

| Key | Date       |
|-----|------------|
| 2   | 10/29/2018 |

Таблица B -

| Key | Begin Date | End Date   | Value |
|-----|------------|------------|-------|
| 1   | 07/01/2018 | 12/31/2999 | 0.1   |
| 1   | 01/01/1995 | 06/30/2018 | 1     |
| 1   | 01/01/1900 | 12/31/1994 | 0.5   |
| 2   | 10/31/2018 | 12/31/2999 | 3.6   |
| 2   | 01/01/1995 | 10/30/2018 | 0.4   |
| 2   | 01/01/1900 | 12/31/1994 | 10    |
| 3   | 01/01/1900 | 12/31/2999 | 100   |

Спасибо!

1 Ответ

0 голосов
/ 19 декабря 2018

Предполагая, что будет только одно совпадение, используйте SUMIFS.

=SUMIFS($I$1:$I$8,$F$1:$F$8,A2,$G$1:$G$8,"<="&B2,$H$1:$H$8,">="&B2)

enter image description here

Примечание - изменились два экземпляра 12/31/ 1995 в таблице B по 31.12.1994, при условии, что это опечатка и диапазоны дат не должны перекрываться между строками.

РЕДАКТИРОВАТЬ:

Вы можете использоватьINDEX и AGGREGATE, если вам нужно вернуть текст.

=INDEX(I2:I8,AGGREGATE(15,6,ROW($A$1:$A$7)/(($F$2:$F$8=A2)*($G$2:$G$8<=B2)*($H$2:$H$8>=B2)),1))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...