Excel CHOOSE функция
- Ex1 - Базовое использование: использование CHOOSE только функция, чтобы выбрать значение из аргумента списка
- Ex2 - возвращать разные результаты на основе нескольких условий
- Ex3 - возвращать разные результаты вычислений в зависимости от условий
- Ex4 - Выбрать случайное из списка
- Ex5 - объединить CHOOSE и VLOOKUP функции для возврата значения в левом столбце
- Ex6 - вернуть день недели или месяц в зависимости от заданной даты
- Ex7 - возврат к дате следующего рабочего дня / выходного дня на основе сегодняшнего дня
Описание
. CHOOSE функция возвращает значение из списка аргументов значений на основе заданного номера индекса. Например, CHOOSE(3,”Apple”,”Peach”,”Orange”) возвращает оранжевый, номер индекса - 3, а оранжевый - третье значение после номера индекса в функции.
синтаксис и аргументы
Синтаксис формулы
CHOOSE(index_num, value1, [value2], …) |
аргументы
|
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, четвертый аргумент списка в функции.
Ex2 - возвращать разные результаты на основе нескольких условий
Предположим, у вас есть список отклонений для каждого продукта, который необходимо маркировать в соответствии с условиями, как показано на скриншоте ниже.
Обычно для обработки можно использовать функцию ЕСЛИ, но здесь я расскажу, как использовать 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")
Результат: средний
Ex3 - возвращать разные результаты вычислений в зависимости от условий
Предположим, вам нужно рассчитать скидки для каждого продукта на основе суммы и цены, как показано на скриншоте ниже:
Формула:
=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
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: список значений, из которых можно выбрать
Ex5 - объединить CHOOSE и VLOOKUP функции для возврата значения в левом столбце
Обычно мы используем функцию ВПР. =VLOOKUP (value, table, col_index, [range_lookup]) для возврата значения на основе заданного значения из диапазона таблицы. Но с VLOOKUP функция, она вернет значение ошибки, в то время как столбец возврата находится слева от столбца подстановки, как показано ниже:
В этом случае можно комбинировать 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.
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.
Ex7 - возврат к дате следующего рабочего дня / выходного дня на основе сегодняшнего дня
В повседневной работе вы можете рассчитывать следующий рабочий день или выходные на основе сегодняшнего дня. Здесь CHOOSE функция также может оказать вам услугу.
Например, сегодня 12, четверг, теперь нужно получить следующий рабочий день и выходные.
Формула 1: получить дату сегодня
=TODAY()
Результат: 12
Формула 2: получить номер дня недели сегодня
=WEEKDAY(TODAY())
Результат: 5 (сегодня 12)
Список номеров дней недели, как показано на скриншоте ниже:
Формула 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 г.
Лучшие инструменты для работы в офисе
Kutools for Excel - поможет вам выделиться из толпы
Kutools для Excel может похвастаться более чем 300 функциями, Гарантия того, что то, что вам нужно, находится на расстоянии одного клика...
Вкладка Office - включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)
- Одна секунда для переключения между десятками открытых документов!
- Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
- Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Добавляет эффективные вкладки в Office (включая Excel), как в Chrome, Edge и Firefox.