Использование IFS с функцией Arrayformula в Google Sheets

Мне было интересно, можно ли использовать функцию IFS внутри функции массива?

Я хочу, чтобы раскрывающийся список заполнил массив в зависимости от того, что выбрано при проверке данных.

формула, которую я использую:

=ARRAYFORMULA(IFs(H2="1st Quarter",'Pool 1 data'!C4:AG34,H2="2nd Quarter",'Pool 1 data'!C38:AG68,H2="3rd Quarter",'Pool 1 data '!C72:AG102,H2="4th Quarter",'Pool 1 data'!C106:AG136))

H2 — это проверка выпадающего списка. Поэтому, когда выбран «1-й квартал», я хочу, чтобы он возвращал диапазон c4: AG34, а когда выбран «2-й квартал», чтобы возвращался диапазон C38: AG68 и так далее.

Текущая формула ничего не возвращает. Я далеко или есть другой подход, чтобы это произошло?

Любые советы будут с благодарностью!

Обновлено: Вот ссылка на таблицу

https://docs.google.com/spreadsheets/d/1fIRpI_f76ac4VNcpp0Ffvx_68lRLjFtaPrYFdgFEDs0/edit?usp=sharing

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
0
70
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

использовать:

=ARRAYFORMULA(
 IF(H2 = "1st Quarter",'Pool 1 data'!C4:AG34, 
 IF(H2 = "2nd Quarter",'Pool 1 data'!C38:AG68, 
 IF(H2 = "3rd Quarter",'Pool 1 data'!C72:AG102,
 IF(H2 = "4th Quarter",'Pool 1 data'!C106:AG136, )))))

см.: https://webapps.stackexchange.com/a/124685/186471

вы можете подумать, что поведение IFS() похоже на IF(), и причина наличия IFS() заключается в том, чтобы избежать вложенности нескольких IF(), но это не так. Да, есть некоторые общие базовые линии, однако есть большая разница, когда дело доходит до массивов. IFS() в сочетании с массивным выводом ожидается массивный ввод — вот почему вы получили вывод с одной ячейкой вместо массивированного вывода.

  • допустим, ваша формула IF() выглядит так:

  • «преобразование» его в IFS() вернет это (поскольку ячейка A1 не является массивом/диапазоном):

  • теперь давайте добавим формулу массива (диапазонный ввод):

  • также обратите внимание на это поведение:

Спасибо! эта ссылка помогает объяснить, где я ошибся.

Scott Shimer 30.12.2022 15:11

Другие вопросы по теме