Перейти к содержимому

Функция CHOOSE в Excel

Author: Sun Last Modified: 2025-08-07
doc choose function 1

Описание

Синтаксис и аргументы

Использование и примеры


Описание

Функция CHOOSE возвращает значение из списка значений аргументов на основе заданного номера индекса. Например, CHOOSE(3,”Apple”,”Peach”,”Orange”) возвращает Orange, так как номер индекса равен 3, и Orange является третьим значением после номера индекса в функции.

синтаксис и аргументы

Синтаксис формулы

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

Аргументы

  • Index_num: Обязательный. Числовое значение между 1-254, указывающее, какой аргумент будет выбран. Если index_num выходит за пределы диапазона между 1-254, CHOOSE возвращает ошибку #VALUE!. Если index_num является десятичным числом, оно округляется до целого перед использованием формулы.
  • Value1: Обязательный. Первое значение в формуле, которое может быть выбрано.
  • Value2: Необязательный. Второе и до 254-го значения, из которых можно выбрать.

Value1, value2… могут быть числами, текстами, формулами, ссылками на ячейки или определенным именем.

Возвращаемое значение

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

Использование и примеры

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

Пример 1 - Базовое использование: использование CHOOSE функции для выбора значения из списка аргументов

Формула 1:

=CHOOSE(3,"a","b","c","d")

Результат: c, что является третьим аргументом после index_num 3 в функции CHOOSE.

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

Формула 2:

=CHOOSE(2,A1,A2,A3,A4)

Результат: Kate, значение A2. Поскольку index_num равен 2, и A2 является вторым значением в функции CHOOSE.

Формула 3:

=CHOOSE(4,8,9,7,6)

Результат: 6, четвертое значение в списке аргументов функции.
doc choose function 2


Пример 2 – Возвращение разных результатов на основе нескольких условий

Предположим, у вас есть список отклонений для каждого продукта, которые нужно пометить на основе условий, как показано на скриншоте ниже.
doc choose function 3

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

Формула:

=CHOOSE((B7>0)+(B7>1)+(B7>5),"Top","Middle","Bottom")

Объяснение:

(B7>0)+(B7>1)+(B7>5): index_num, B7 равно 2, что больше 0 и 1, но меньше 5, поэтому мы получаем промежуточный результат:

=CHOOSE(True+Ture+False,"Top","Middle","Bottom")

Как известно, True = 1, False = 0, поэтому формулу можно рассматривать как:

=CHOOSE(1+1+0,"Top","Middle","Bottom")

затем

=CHOOSE(2,"Top","Middle","Bottom")

Результат: Middle
doc choose function 4


Пример 3 – Возвращение различных рассчитанных результатов на основе условий

Предположим, вам нужно рассчитать скидки для каждого продукта на основе количества и цены, как показано на скриншоте ниже:
doc choose function 5

Формула:

=CHOOSE((B8>0)+(B8>100)+(B8>200)+(B8>300),B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)

Объяснение:

(B8>0)+(B8>100)+(B8>200)+(B8>300): index_number, B8 равно 102, что больше 100, но меньше 201, поэтому в этой части возвращается результат, показанный как:

=CHOOSE(true+true+false+false,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)

=CHOOSE(1+1+0+0,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)

затем

=CHOOSE(2,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)

B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5: значения, из которых выбирается, скидка равна цене * количество * процент скидки, поскольку здесь index_num равен 2, он выбирает B8*C8*0.2

Результат: 102*2*0.2=40.8
doc choose function 6


Пример 4 – Выбор случайного значения из списка

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

Случайный выбор одного значения из списка:

Формула:

=CHOOSE(RANDBETWEEN(1,5),$D$2,$D$3,$D$4,$D$5,$D$6)

Объяснение:

RANDBETWEEN(1,5): index_num, случайным образом получает число между 1 и 5

$D$2,$D$3,$D$4,$D$5,$D$6: список значений, из которых выбирается
doc choose function 7


Пример 5 – Комбинирование функций CHOOSE и VLOOKUP для возврата значения из левого столбца

Обычно мы используем функцию VLOOKUP =VLOOKUP (value, table, col_index, [range_lookup]) для возврата значения на основе заданного значения из диапазона таблицы. Но с помощью VLOOKUP функции она вернет ошибку, если возвращаемый столбец находится слева от столбца поиска, как показано на скриншоте ниже:
doc choose function 8

В этом случае вы можете комбинировать функцию CHOOSE с функцией VLOOKUP для решения проблемы.

Формула:

=VLOOKUP(E1,CHOOSE({1,2},B1:B7,A1:A7),2,FALSE)

Объяснение:

CHOOSE({1,2},B1:B7,A1:A7): как аргумент table_range в функции VLOOKUP. {1,2} означает отображение 1 или 2 как аргумента index_num на основе аргумента col_num в функции VLOOKUP. Здесь col_num в функции VLOOKUP равен 2, поэтому CHOOSE функция отображается как CHOOSE(2, B1:B7,A1:A7), что означает выбор значения из A1:A7.
doc choose function 9


Пример 6 – Возвращение дня недели или месяца на основе заданной даты

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

Формула 1: возврат дня недели по дате

=CHOOSE(WEEKDAY(),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")

Объяснение:

WEEKDAY(): аргумент index_num, чтобы получить номер дня недели для заданной даты, например, WEEKDAY(A5) возвращает 6, тогда аргумент index_num равен 6.

"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday": аргументы списка значений, начинаются с “Sunday”, потому что номер дня недели “1” указывает на “Sunday”.

Формула 2: возврат месяца по дате

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

Объяснение:

MONTH(): аргумент index_num, который получает номер месяца из заданной даты, например, MONTH(A5) возвращает 3.
doc choose function 10


Пример 7 – Возвращение следующего рабочего дня/выходного дня на основе сегодняшней даты

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

Например, сегодня 20.12.2018, четверг, теперь вам нужно получить следующий рабочий день и выходной.

Формула 1: получить дату сегодня

=TODAY()

Результат: 20.12.2018

Формула 2: получить номер дня недели сегодня

=WEEKDAY(TODAY())

Результат: 5 (пока сегодня 20.12.2018)

Список номеров дней недели показан на скриншоте ниже:
doc choose function 10

Формула 3: получить следующий рабочий день

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

Объяснение:

Today(): возвращает текущую дату

WEEKDAY(TODAY()): аргумент index_num в функции CHOOSE, получает номер дня недели сегодня, например, воскресенье — 1, понедельник — 2…

1,1,1,1,1,3,2: аргумент списка значений в функции CHOOSE. Например, если weekday(today()) возвращает 1 (воскресенье), он выбирает 1 из списка значений, тогда вся формула меняется на =Today()+1, что означает добавление 1 дня для возврата следующего понедельника. Если weekday(today()) возвращает 6 (пятница), он выбирает 3 из списка значений, потому что пятница находится на расстоянии 3 дней от следующего понедельника.

Результат (пока сегодня 20.12.2018):

=20.12.2018+CHOOSE(5,1,1,1,1,1,3,2)

=12/20/2018+1

=12/21/2018

Формула 4: получить следующий выходной день

=TODAY()+CHOOSE(WEEKDAY(TODAY()),6,5,4,3,2,1,1)

Объяснение:

6,5,4,3,2,1,1: аргумент списка значений в функции CHOOSE. Например, если weekday(today()) возвращает 1 (воскресенье), он выбирает 6 из списка значений, тогда вся формула меняется на =Today()+6, что означает добавление 6 дней и возврат следующей субботы.

Результат:

=20.12.2018+CHOOSE(5,6,5,4,3,2,1,1)

=12/20/2018+2

=12/22/2018
doc choose function 10


Пример файла
doc sample file


Лучшие инструменты для повышения производительности Office

Kutools для Excel - Помогает вам выделиться из толпы

🤖 KUTOOLS AI Помощник: Революционизируйте анализ данных на основе: Интеллектуального Выполнения   |  Генерация Кода  |  Создание Пользовательских Формул  |  Анализ Данных и Генерация Диаграмм  |  Вызов Расширенных Функций
Популярные функции: Найти, Выделить или Отметить дубликаты  |  Удалить пустые строки  |  Объединить столбцы или ячейки без потери данных  |  Округлить без формулы ...
Супер VLookup: Множественные критерии  |  Множественные значения  |  По нескольким листам  |  Распознавание нечетких соответствий...
Расширенный раскрывающийся список: Простой выпадающий список  |  Зависимый выпадающий список  |  Выпадающий список с множественным выбором...
Управление столбцами: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить видимость скрытых столбцов  Сравнить столбцы для выбора одинаковых и разных ячеек ...
Основные функции: Сетка фокусировки  |  Дизайн листа  |  Улучшенная строка формул  |  Управление книгами и листами | Библиотека автотекста (Авто текст)  |  Выбор даты  |  Объединить данные  |  Шифровать/Расшифровать ячейки  |  Отправить письма по списку  |  Супер фильтр  |  Специальный фильтр (фильтр жирного шрифта/курсива/зачеркнутого текста...) ...
Топ-15 наборов инструментов12 Текстовых Инструментов (Добавить текст, Удалить определенные символы ...)  |  50+ Типов Диаграмм (Диаграмма Ганта ...)  |  40+ Практических Формул (Расчет возраста на основе даты рождения ...)  |  19 Инструментов Вставки (Вставить QR-код, Вставить изображение из пути ...)  |  12 Инструментов Преобразования (Преобразовать в слова, Конвертация валюты ...)  |  7 Инструментов Объединения и Разделения (Расширенное объединение строк, Разделить ячейки Excel ...)  |  ... и многое другое
Используйте Kutools на предпочитаемом вами языке – поддерживает английский, испанский, немецкий, французский, китайский и более 40 других языков!

Kutools для Excel имеет более 300 функций, гарантируя, что то, что вам нужно, находится всего в одном клике...


Office Tab - Включите работу с вкладками в Microsoft Office (включая Excel)

  • Одна секунда для переключения между десятками открытых документов!
  • Уменьшите сотни кликов мышью каждый день, попрощайтесь с болью в руке от использования мышки.
  • Увеличивает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
  • Привносит эффективные вкладки в Office (включая Excel), как в Chrome, Edge и Firefox.