Функция Excel VLOOKUP возвращает значение из неправильной строки, но без пробелов
У меня проблема с формулой VLOOKUP, и, хотя у других людей в сети были проблемы, похоже, что их проблемы связаны с конечными пробелами, однако я проверил свои данные и не могу найти какие-либо конечные пробелы, поэтому я до сих пор не уверен, что может быть причиной этого.
Формула, которую я использую: =VLOOKUP(G1, A:B, 2)
Значение ячейки G1 = "Доставка - Стандартная доставка до 5 вечера"
<excel
The array A:B is as below:
Column A Column B
Shipping Rate Name Service
2 Day (Isle of Man) 11
2 Day (Scilly Isles) 11
2 Day (Scottish Highlands) 11
Saturday by 10am 18
Saturday by 12pm 17
Saturday by 5pm 16
Standard Delivery (Channel Islands) 12
Standard Delivery (EIRE) 12
Standard Delivery (Northern Ireland) 12
Standard Delivery by 10am 14
Standard Delivery by 12pm 13
Standard Delivery by 5pm 12
excel>
игнорируйте пометки "
Вопрос, который у меня возник, состоит в том, что результат формулы "16", в то время как теоретически он должен быть "12" (это то, на что я надеялся в любом случае)
Если кто-то может помочь, это будет очень цениться!
РЕДАКТИРОВАТЬ: еще несколько заметок:
Если я поставлю FALSE(точное совпадение) в конце формулы, результатом будет "#N/A". Если я поставлю TRUE (Приблизительное совпадение) в конце, результат все равно будет "16"
Я не заметил, что каждое значение на самом деле находится на отдельном листе, я просто упростил его для этого вопроса. Ячейка G1 - это один лист, массив A: B - на следующем листе, а сама формула - на другом листе.
Не имеет никакого значения, если я помещу весь массив, формулу и значение на одном листе - я все равно получаю "16"!!!!
1 ответ
Проблема в том, что нет совпадения.
Формула ищет значение в G1
, " Доставка - Стандартная доставка до 5 вечера ", но в массиве данных нет ничего, что соответствовало бы ему.
Если G1
не было предыдущего текста "*Shipping - *", он вернул бы искомое значение.
Если я вас правильно понял, вы сказали, что система, из которой поступают данные, добавляет текст "* Shipping - *" при импорте. Итак, настройте свой VLOOKUP
формула для включения MID
функция обрезки ненужного текста - MID(G1, 12, 99)
,
В VLOOKUP
это будет выглядеть так;
=VLOOKUP(MID(G1, 12, 99), A:B, 2, FALSE)
Примечание: я использовал 99
в MID
функция, потому что длина строки неизвестна. Excel игнорирует пробелы в конце, так что это не проблема.