2

У меня 2 таблицы, ежедневный вход

ежедневная запись

и резюме

резюме

Моя формула в BQ20 сводной таблицы в настоящее время:

=IF(VLOOKUP(BQ5,Table11[DATE],1,FALSE),VLOOKUP('SUMMARY (NEW)'!B20,'DAILY ENTRY'!A:H,8,FALSE),"")

Table11[DATE] - это просто столбец A в таблице ежедневных записей .

Я пытаюсь забрать значения COST и QTY из таблицы ежедневных записей в сводную таблицу. Однако, когда я использую приведенную выше формулу, я получаю ошибку #N/A

Пытаюсь сделать эту работу уже неделю. Я использую неправильную формулу?

1 ответ1

0

VLOOKUP() работает путем поиска своего первого аргумента в первом столбце диапазона, указанного во втором аргументе.

Первый столбец вашего второго аргумента должен быть столбцом ITEM , а не первым столбцом таблицы.

Исправленная формула для BQ20 :

=IF(VLOOKUP(BQ5,Table11[DATE],1,FALSE),VLOOKUP('SUMMARY (NEW)'!B20,Table11[[ITEM]:[COST]],5,FALSE),"")


Однако эта формула все еще в корне ошибочна. Он не подберет правильный элемент на основе даты, поскольку между двумя VLOOKUP() нет и не может быть ссылки. (Попытка сделать это привела к ошибке #N/A )

Одно решение для этого использует массивы и SUMPRODUCT() :

=SUMPRODUCT(Table11[COST]*(Table11[DATE]=$BQ$5)*(Table11[ITEM]=$B20))

Предостережения:

  • Эта простая формула работает правильно, только если значения, которые необходимо найти, являются числами.

  • Это работает правильно, только если элементы уникальны для каждой даты.

Оба эти ограничения можно преодолеть с помощью более сложных версий формулы.

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

Как обнаружил OP, есть формула, эквивалентная приведенной выше, которая использует SUMIFS() вместо SUMPRODUCT():

=SUMIFS(Table11[COST],Table11[DATE],$BQ$5,Table11[ITEM],$B20)

Те же предостережения применимы и к этой формуле.



Существует альтернативное решение , которое действительно использует VLOOKUP() но для этого требуется вспомогательный столбец.

Добавьте вспомогательный столбец в таблицу ежедневных записей:

Скриншот рабочего листа

Введите следующую формулу во все ячейки столбца Helper :

=Table11[[#This Row],[DATE]]&Table11[[#This Row],[ITEM]]

Введите следующую формулу в BQ20:

=VLOOKUP($BQ$5&$B20,Table11[[Helper]:[COST]],9,FALSE)

Обратите внимание, что эта формула корректно работает с нечисловыми значениями и неуникальными элементами, как есть.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .