Функция CHOOSE в Excel с примерами формул

  • Поделись Этим
Michael Brown

В учебнике объясняется синтаксис и основные способы использования функции CHOOSE, а также приводится несколько нетривиальных примеров, показывающих, как использовать формулу CHOOSE в Excel.

CHOOSE - одна из тех функций Excel, которые сами по себе могут показаться бесполезными, но в сочетании с другими функциями дают ряд потрясающих преимуществ. На самом базовом уровне вы используете функцию CHOOSE для получения значения из списка, указывая позицию этого значения. Далее в этом руководстве вы найдете несколько расширенных вариантов использования, которые, безусловно, стоит изучить.

    Функция Excel CHOOSE - синтаксис и основные способы использования

    Функция CHOOSE в Excel предназначена для возврата значения из списка на основе заданной позиции.

    Функция доступна в Excel 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010 и Excel 2007.

    Синтаксис функции CHOOSE следующий:

    CHOOSE(index_num, value1, [value2], ...)

    Где:

    Index_num (обязательно) - позиция возвращаемого значения. Это может быть любое число от 1 до 254, ссылка на ячейку или другая формула.

    Значение1, значение2, ... - список из 254 значений для выбора. Значение1 обязательно, остальные значения необязательны. Это могут быть числа, текстовые значения, ссылки на ячейки, формулы или определенные имена.

    Вот пример формулы CHOOSE в самом простом виде:

    =CHOOSE(3, "Майк", "Салли", "Эми", "Нил")

    Формула возвращает "Эми", потому что индексное_число равно 3, а "Amy" - это третье значение в списке:

    Функция Excel CHOOSE - 3 вещи, которые нужно помнить!

    CHOOSE - очень простая функция, и вы вряд ли столкнетесь с трудностями при ее применении в своих листах. Если результат, возвращаемый вашей формулой CHOOSE, неожиданный или не тот, который вы искали, это может быть вызвано следующими причинами:

    1. Количество значений для выбора ограничено 254.
    2. Если индексное_число меньше 1 или больше количества значений в списке, возвращается ошибка #VALUE!
    3. Если индексное_число аргумент является дробью, он усекается до наименьшего целого числа.

    Как использовать функцию CHOOSE в Excel - примеры формул

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

    Excel CHOOSE вместо вложенных IF

    Одна из наиболее часто встречающихся задач в Excel - возврат различных значений на основе заданного условия. В большинстве случаев это можно сделать с помощью классического вложенного оператора IF. Но функция CHOOSE может быть быстрой и простой для понимания альтернативой.

    Пример 1. Возвращение различных значений в зависимости от условия

    Предположим, у вас есть столбец оценок студентов, и вы хотите пометить оценки на основе следующих условий:

    Результат Оценка
    Бедные 0 - 50
    Удовлетворительно 51 - 100
    Хорошо 101 - 150
    Отличный более 151

    Один из способов сделать это - вложить несколько формул IF друг в друга:

    =IF(B2>=151, "Отлично", IF(B2>=101, "Хорошо", IF(B2>=51, "Удовлетворительно", "Плохо")))

    Другой способ - выбрать метку, соответствующую условию:

    =CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Плохо", "Удовлетворительно", "Хорошо", "Отлично")

    Как работает эта формула:

    В индексное_число аргумент, вы оцениваете каждое условие и возвращаете TRUE, если условие выполнено, FALSE в противном случае. Например, значение в ячейке B2 удовлетворяет первым трем условиям, поэтому мы получаем такой промежуточный результат:

    =CHOOSE(TRUE + TRUE + TRUE + FALSE, "Плохо", "Удовлетворительно", "Хорошо", "Отлично")

    Учитывая, что в большинстве формул Excel значение TRUE равно 1, а FALSE - 0, наша формула подвергается такому преобразованию:

    =CHOOSE(1 + 1 + 1 + 0, "Плохо", "Удовлетворительно", "Хорошо", "Отлично")

    После выполнения операции сложения имеем:

    =CHOOSE(3, "Плохо", "Удовлетворительно", "Хорошо", "Отлично")

    В результате возвращается 3-е значение в списке, которое является "Good".

    Советы:

    • Чтобы сделать формулу более гибкой, вы можете использовать ссылки на ячейки вместо жестко заданных меток, например:

      =CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), $E$1, $E$2, $E$3, $E$4)

    • Если ни одно из ваших условий не является ИСТИНОЙ, то индексное_число аргумент будет установлен в 0, что заставит вашу формулу вернуть ошибку #VALUE! Чтобы избежать этого, просто оберните CHOOSE в функцию IFERROR следующим образом:

      =IFERROR(CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Плохо", "Удовлетворительно", "Хорошо", "Отлично"), "")

    Пример 2. Выполнение различных вычислений в зависимости от условия

    Аналогичным образом можно использовать функцию Excel CHOOSE для выполнения одного вычисления в серии возможных вычислений/формул без вложения нескольких операторов IF друг в друга.

    В качестве примера рассчитаем комиссионные каждого продавца в зависимости от его продаж:

    Комиссия Продажи
    5% от $0 до $50
    7% от $51 до $100
    10% более $101

    С суммой продаж в B2 формула принимает следующий вид:

    =CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*5%, B2*7%, B2*10%)

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

    =CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*$E$2, B2*$E$3, B2*$E$4)

    Формула Excel CHOOSE для генерации случайных данных

    Как вы, наверное, знаете, в Microsoft Excel есть специальная функция для генерации случайных целых чисел между нижним и верхним числами, которые вы задаете - функция RANDBETWEEN. Вложите ее в файл индексное_число аргумент CHOOSE, и ваша формула будет генерировать практически любые случайные данные, которые вы захотите.

    Например, эта формула может выдать список случайных результатов экзамена:

    =CHOOSE(RANDBETWEEN(1,4), "Плохо", "Удовлетворительно", "Хорошо", "Отлично")

    Логика формулы очевидна: RANDBETWEEN генерирует случайные числа от 1 до 4, а CHOOSE возвращает соответствующее значение из заранее определенного списка из четырех значений.

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

    Формула CHOOSE для выполнения левого Vlookup

    Если вы когда-нибудь выполняли вертикальный поиск в Excel, то знаете, что функция VLOOKUP может искать только в крайнем левом столбце. В ситуациях, когда вам нужно вернуть значение слева от столбца поиска, вы можете использовать комбинацию INDEX / MATCH или обмануть VLOOKUP, вложив в него функцию CHOOSE. Вот как это сделать:

    Предположим, у вас есть список оценок в столбце A, имена студентов в столбце B, и вы хотите получить оценку конкретного студента. Поскольку столбец возврата находится слева от столбца поиска, обычная формула Vlookup возвращает ошибку #N/A:

    Чтобы исправить это, используйте функцию CHOOSE, чтобы поменять местами позиции столбцов, сообщив Excel, что столбец 1 - это B, а столбец 2 - это A:

    =CHOOSE({1,2}, B2:B5, A2:A5)

    Поскольку мы предоставляем массив {1,2} в индексное_число аргумент, функция CHOOSE принимает диапазоны в диапазоне значение аргументы (обычно этого не происходит).

    Теперь вставьте приведенную выше формулу в массив_таблиц аргумент VLOOKUP:

    =VLOOKUP(E1,CHOOSE({1,2}, B2:B5, A2:A5),2,FALSE)

    И вуаля - поиск слева выполняется без проблем!

    ВЫБИРАЙТЕ формулу для возврата на следующий рабочий день

    Если вы не уверены, стоит ли вам завтра идти на работу или можно остаться дома и насладиться заслуженными выходными, функция Excel CHOOSE может узнать, когда следующий рабочий день.

    Если предположить, что ваши рабочие дни - с понедельника по пятницу, то формула выглядит следующим образом:

    =TODAY()+CHOOSE(WEEKDAY(TODAY()),1,1,1,1,1,3,2)

    Запутанная на первый взгляд, при ближайшем рассмотрении логика формулы становится понятной:

    WEEKDAY(TODAY()) возвращает порядковый номер, соответствующий сегодняшней дате, в диапазоне от 1 (воскресенье) до 7 (суббота). Этот номер переходит к индексное_число аргумент нашей формулы CHOOSE.

    Значение1 - ценность7 (1,1,1,1,1,1,3,2) определяют, сколько дней нужно добавить к текущей дате. Если сегодня воскресенье - четверг (index_num 1 - 5), вы добавляете 1, чтобы вернуть следующий день. Если сегодня пятница (index_num 6), вы добавляете 3, чтобы вернуть следующий понедельник. Если сегодня суббота (index_num 7), вы добавляете 2, чтобы снова вернуть следующий понедельник. Ага, все просто :)

    Формула CHOOSE для возврата пользовательского имени дня/месяца из даты

    В ситуациях, когда необходимо получить название дня в стандартном формате, например, полное название (понедельник, вторник и т.д.) или краткое название (пн, вт и т.д.), можно использовать функцию ТЕКСТ, как описано в данном примере: Получить день недели из даты в Excel.

    Если вы хотите вернуть день недели или название месяца в пользовательском формате, используйте функцию CHOOSE следующим образом.

    Чтобы узнать день недели:

    =CHOOSE(WEEKDAY(A2),"Su","Mo","Tu","We","Th","Fr","Sa")

    Чтобы получить месяц:

    =CHOOSE(MONTH(A2), "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")

    Где A2 - ячейка, содержащая исходную дату.

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

    Скачать рабочую тетрадь для практических занятий

    Примеры функций Excel CHOOSE

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.