Ваши данные поиска (первая строка в диапазоне данных) НЕ отсортированы.
Вы ищете ТОЧНОЕ значение.
Таким образом, вы ДОЛЖНЫ использовать 4-й параметр функции HLOOKUP со значением FALSE
:
=HLOOKUP("Germany", B1:F4, 4, FALSE)
Или сортируйте столбцы данных по возрастанию значений 1-й строки.
почему это работает для всех стран, если я изменяю второй параметр на A1:F4?
Я думаю, что поскольку HLOOKUP без 4-го параметра предполагает, что данные отсортированы, он использует метод половинного деления для поиска результата.
Теперь посмотрите: диапазон поиска B1: F1, 5 ячеек. Середина D1. Это меньше, чем значение для поиска, поэтому функция уменьшает диапазон поиска до D1: F1. Его середина - E1, и он превышает значение для поиска, функция уменьшает диапазон поиска до D1: E1. Теперь диапазон поиска составляет 2 ячейки, а результатом поиска считается D1. Так что у нас неверный результат.
Когда мы изменяем диапазон данных, диапазон поиска составляет A1:F1, 6 ячеек. Середина - С1. Это равно значению для поиска. Поиск остановлен. Таким образом, мы имеем правильный результат.
Это не правильно, похоже только. Например, создайте тестовую таблицу, где A1:H1 - это a, b, b, b, b, b, b, c и A2:H2 - это 1,2,3,4,5,6,7,8. Используйте HLOOKUP('b', A1:H2,2). Результат будет 7.