Перейти к основному содержанию

Excel CHOOSE функция

док выберите функцию 1

Описание

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

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


Описание

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

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

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

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

аргументы

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

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

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

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

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

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

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

Формула 1:

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

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

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

Формула 2:

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

Возвращение: Кейт, значение A2. Поскольку index_num равно 2, а A2 - второе значение в CHOOSE функции.

Формула 3:

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

Возврат: 6, четвертый аргумент списка в функции.
док выберите функцию 2


Ex2 - возвращать разные результаты на основе нескольких условий

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

Обычно для обработки можно использовать функцию ЕСЛИ, но здесь я расскажу, как использовать 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")

Результат: средний
док выберите функцию 4


Ex3 - возвращать разные результаты вычислений в зависимости от условий

Предположим, вам нужно рассчитать скидки для каждого продукта на основе суммы и цены, как показано на скриншоте ниже:
док выберите функцию 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
док выберите функцию 6


Ex4 - Выбрать случайное из списка

В 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: список значений, из которых можно выбрать
док выберите функцию 7


Ex5 - объединить CHOOSE и VLOOKUP функции для возврата значения в левом столбце

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

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

Формула:

=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.
док выберите функцию 9


Ex6 - вернуть день недели или месяц в зависимости от заданной даты

Для 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": аргументы списка значений, начинаются с «воскресенье», потому что номер дня недели «1» означает «воскресенье».

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

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

Объясните:

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


Ex7 - возврат к дате следующего рабочего дня / выходного дня на основе сегодняшнего дня

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

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

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

=TODAY()

Результат: 12

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

=WEEKDAY(TODAY())

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

Список номеров дней недели, как показано на скриншоте ниже:
док выберите функцию 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 функция. Например, если день недели (today ()) возвращает 1 (воскресенье), он выбирает 1 из списка значений, тогда вся формула изменяется на = Today () + 1, что означает добавление 1 дня для возврата в следующий понедельник. Если день недели (today ()) возвращает 6 (пятница), он выбирает 3 из списка значений, потому что пятница находится на 3 дня от следующего понедельника.

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

=12/20/2018+CHOOSE(5,1,1,1,1,1,3,2)

= 12 декабря 20 г. + 2018

= 12 апреля 21 г.

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

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

Объясните:

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

Результат:

=12/20/2018+CHOOSE(5,6,5,4,3,2,1,1)

= 12 декабря 20 г. + 2018

= 12 апреля 22 г.
док выберите функцию 10


Файл примера
файл образца документа


Лучшие инструменты для работы в офисе

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

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

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


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

  • Одна секунда для переключения между десятками открытых документов!
  • Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
  • Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
  • Добавляет эффективные вкладки в Office (включая Excel), как в Chrome, Edge и Firefox.
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations