Пошук у Excel Не повертає правильний результат


1

У мене є проста функція пошуку, яку я використовую замість виклику Switch Case.

Нижче наведено те, що я намагаюся виконати:

switch(F5){
    case "apple":
        return "1";
        break;
    case "pear":
        return "2";
        break;
    case "mango":
        return "3";
        break;
    case "kiwi":
        return "4";
        break;
}

Нижче наведено мою функцію пошуку в Excel:

=LOOKUP(F5,{"apple","pear","mango","kiwi"},{"1","2","3","4"})

Проблема: Коли F5 дорівнює яблуні і груші, я отримую 1, 2 відповідно і це добре.

Однак, коли F5 дорівнює манго або ківі, я отримую 1, а не 3 або 4 відповідно, що я і очікую.

Чому це відбувається? Чи використовую я неправильний синтаксис? Чи не відповідає вищезазначена функція пошуку замість оператора вимикача? Чи є кращий спосіб зробити це?

с. це посилання говорити про використання функції пошуку замість оператора case case


Я не маю Excel перед собою, але я припускаю, що це пов'язано з алфавітним порядком значень пошуку. Спробуйте сортувати та перевірте, чи виправлена ​​проблема. Я також вважаю, що в функції пошуку є перемикач для точного значення, яке може працювати.
dav

Відповіді:


1

Функція LOOKUP вимагає, щоб діапазон пошуку (ваші плоди) знаходився в порядку зростання

Спробуйте змінити замовлення, як це

=LOOKUP(F5,{"apple","kiwi","mango","pear"},{"1","4","3","2"})

.... хоча F5 є лимон це дасть вам 4, а не # N / A, тому для точного відповідності ви можете скористатися HLOOKUP як це [не вимагає сортування]

=HLOOKUP(F5,{"apple","pear","mango","kiwi";"1","2","3","4"},2,0)


Дивовижний! Я використовую HLOOKUP зараз!
xited
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.