Excel, если функция с датой - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть два листа, Лист1 и Лист2.

Лист1

A   B      C     H
C-1 Hall-1 ok    30-04-2018
c-2 Hall-2 ok
c-3 Hall-3 ok

Лист2

A           B      C
29-04-2018 Hall-1 ok
29-04-2018 Hall-2 ok
29-04-2018 Hall-3 ok
30-04-2018 Hall-1 ok
30-04-2018 Hall-2 ok
30-04-2018 Hall-3 ok
01-05-2018 Hall-1 ok
01-05-2018 Hall-2 ok
01-05-2018 Hall-3 ok

Значение ячейки Sheet1 H1 будет меняться ежедневно. Я попробовал следующую формулу:

=IF($H$1=Sheet2!$B$4:$B$500,(VLOOKUP(Sheet1!$B7,Sheet2!$B$2:$C$500,2,FALSE)))

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Используйте следующую формулу массива в ячейке B1:

=IFERROR(INDEX(Sheet2!$B$1:$C$9,SMALL(IF(Sheet2!$A$1:$A$9=$H$1,ROW(Sheet2!$A$1:$A$9),""),ROW(1:1)),COLUMNS($A$1:A$1)),"")

Формула массива должна быть добавлена ​​с помощью Ctrl + Shift + Введите после ввода ее в ячейку. Отрегулируйте диапазоны, чтобы они соответствовали вашим собственным.

Скриншот:

enter image description here

Опять же, вы должны нажать Ctrl + Shift + Введите после помещения формулы в ячейку.

0 голосов
/ 30 апреля 2018

Трудно точно знать, что вы спрашиваете, не видя лист правильно. Причина в том, что функция VLOOKUP довольно специфична.

Однако я думаю, что проблема в том, что VLOOKUP ищет ваше значение только в первом столбце таблицы, которую вы ему задаете.

Например:

 A               B                C                 D
 Date            Stuff            More              MoreStuff
 Date            Stuff            More              MoreStuff
 Date            Stuff            More              MoreStuff
 Date            Stuff            More              MoreStuff

Если у меня есть значение: X и я хочу получить значение: Y из моей таблицы, которая находится в столбце C:

Мне нужно использовать формулу следующим образом:

 =VLOOKUP(X, A:D, 3, False)

Таким образом, VLOOKUP будет искать вашу дату ТОЛЬКО в первом столбце. Если ваши данные находятся в столбце B, и вы поставили A: D, то они не будут найдены. Он найдет его, если вы поставите B: D.

1) В основном: убедитесь, что ваш столбец дат в таблице поиска является самым левым столбцом в таблице, которую вы ему дали.

Наконец:

2) Число в третьем аргументе функции VLOOKUP должно учитываться с начала новой таблицы, а не с рабочего листа.

 A     B     C      D        E
 stuff stuff Date   Stuff    Result     
 stuff stuff Date   Stuff    Result

Если это ваша таблица, и я хочу получить результат из столбца E с использованием даты в столбце C, мне нужно будет использовать VLOOKUP следующим образом:

 VLOOKUP(X C:E, 3, False)

Я думаю, что в вашем случае ваш лист выглядит так:

 A        B         C
 Date     Entry     Entry2

Чтобы получить Entry 2, вы должны сделать

 VLOOKUP(x, A:C, 3, False)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...