2

Я столкнулся с этой странной проблемой, пытаясь работать с функцией HLOOKUP. Я построил простой случай здесь, чтобы продемонстрировать.

В столбце, начиная с C7, я введу функции hlookup (показано в столбце D). значения поиска начинаются в столбце B. Формулы в столбце A - это те, которые я ввел в столбце B.

Таблица для справки находится в двух верхних строках. Значение поиска соответствует первой строке, а соответствующее значение во второй строке возвращает результат.

Скриншот Excel

Я попытался найти значения 0,01 и 0,02 в таблице.

Если он работал правильно, он должен вернуть "B" для 0,01 и "C" для 0,02

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

Например, в случае 0,01 я получаю правильный ответ, когда использую формулы «.01» и «.31-.3», но не для других, таких как «.11-.1»

Аналогично для .02 я получаю правильный ответ, когда использую формулы ".02" и ".32-.3". Все остальное дает мне значение в ячейке, предшествующей правильной.

Пожалуйста, дайте мне знать, что здесь не так!

2 ответа2

2

Я немного поэкспериментировал и обнаружил, что лучший и последовательный способ - обернуть как значение поиска, так и массив поиска в функцию TEXT

Формула массива TEXT


TEXT(B4, "0.00") относится к поисковому значению и форматирует значение с двумя десятичными знаками.

TEXT($A$1:$D$2, "0.00") ссылается на таблицу поиска и форматирует все числа в два десятичных знака.

ВАЖНЫЙ! Вы должны использовать тот же формат, и вы должны Ctrl + Shift + Enter вместо Enter чтобы ввести формулу массива.

РЕДАКТИРОВАТЬ: поисковый индекс таблицы (вещь, которую он ищет в начальном поиске) ищет TEXT или INTEGER , а не long или double числа или действительные числа.

Если вы импортируете таблицу поиска или значение из текста или csv , рассмотрите возможность импорта их как TEXT . Вы можете преобразовать обратно в число, используя функцию VALUE . Или вы можете конвертировать в число, используя другие методы .

1

HLOOKUP (а также VLOOKUP) имеет четвертый (необязательный) параметр, который определяет, будет ли он искать точное совпадение или последнее значение, не превышающее искомое значение; по умолчанию последний.

В основном это работает как задумано. Прочитайте справку и установите четвертый параметр, чтобы достичь желаемого результата.

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