Ошибка DGET NUM с критериями

63
6

Функции DGET в моей таблице имеют проблему с строками критериев, имеющими одинаковые стартовые символы. Это проблема. Как это разрешить?

Пример: = DGET (база данных, поле, критерий1)

База данных содержит записи для значений критериев "ABC" и "ABC_123", скажем. Если я вызову DGET (база данных, поле, "ABC"), это приведет к ошибке NUM. Что мне делать с этим? Я не могу изменить электронную таблицу, из которой извлекаются значения критериев для ввода в функцию DGET - например, я не могу добавить столбцы и т.д. Я могу внести некоторые ограниченные изменения в записи базы данных.

спросил(а) 2021-01-25T20:05:28+03:00 4 месяца, 3 недели назад
1
Решение
62

Я думаю, вам понадобятся два изменения (хотя из-за ошибки #NUM вместо #VALUE возможно только первой). Чтобы выполнить точное совпадение с DGET вам необходимо DGET свои критерии с помощью =. Поэтому вместо "ABC" вам понадобится "=ABC". Конечный параметр функции DGET не хочет иметь ни одного строкового значения. Как указано на странице MSDN:

Вы можете использовать любой диапазон для аргумента критериев, если он содержит хотя бы одну метку столбца и по меньшей мере одну ячейку ниже метки столбца, в которой вы указываете условие для столбца.

Я думаю, что третьим параметром должен быть диапазон из двух ячеек с именем вашего критерия в первой ячейке, а ваше значение критерия =ABC ниже. Вы можете разместить этот диапазон на другом листе, если хотите, чтобы его с помощью = когда вы втягиваете его из другой таблицы.

Например, в моем тестировании я использую формулу =DGET($G$1:$I$4,"Field 3",A1:A2) где A1 - это Field 2 а A2 ="=ABC" а заголовки столбцов находятся в G1: I1. Это возвращает значение в столбце Поле 3, когда поле столбца 2 является ABC точно.

DGET очень трогателен, а не то, что я обычно рекомендую, поэтому убедитесь, что вы запускаете ключевые тестовые примеры при внесении изменений и убедитесь, что это возвращает именно то, что вы хотите.

ответил(а) 2021-01-25T20:05:28+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема