Запрос Google Sheets, ссылающийся на выбор из раскрывающегося списка

Я пытаюсь создать лист, который заполняет данные на основе раскрывающегося меню. Данные поступают из формы Google и имеют следующие заголовки:

Временная метка Расшифровка Джона Расшифровка Анны Расшифровка Вики Расшифровка Брэда Кодирование Джона Кодировка Анны Кодирование Вики Кодирование Брэд Напиши продиктованное предложение, Джон
Напишите продиктованное предложение Анна
Напишите продиктованное предложение Вики Напиши продиктованное предложение, Брэд.

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

Я пробовал несколько разных способов сделать это, но все они потерпели неудачу. Может ли кто-нибудь помочь с этим?

Вот копия листа:

https://docs.google.com/spreadsheets/d/1GdF9-iMhiDA3AiL4CkqRM8ByWEawTS0fVh85DNo9Qbw/edit?usp=sharing

Я пробовал использовать операторы QUERY и IF, но не уверен, что на самом деле использовать. Параметр «Запрос» кажется правильным, но я не могу сослаться на раскрывающийся список, поскольку они находятся на отдельных листах.

Можно ли уточнить ожидаемый результат? Я посмотрел ваш пример и не могу сказать, что вам нужно.

Kreeszh 16.07.2024 19:27

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

Michael Mathews 16.07.2024 22:19
Стоит ли изучать 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 называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
52
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Вот один из подходов, который вы можете опробовать:

=let(Λ,'Form Responses 1'!A2:M, Σ,offset(Λ,-1,,1),
 choosecols(Λ,1,xmatch(B4&"  ["&A2&"]",Σ),xmatch(C4&"  ["&A2&"]",Σ),xmatch("*sentence  ["&A2&"]",Σ,2)))

Объяснение:

  • 'Form Responses 1'!A2:M присваивается идентификатор Λ через let функция
  • offset(Λ,-1,,1) переводится как 'Form Responses 1'!A1:M1 и тоже присвоил другой идентификатор
  • вся часть selectcols() примерно переводится как choosecols('Form Responses 1'!A2:M,1,8,4,12) для Вики
  • xmatch(B4&" ["&A2&"]",Σ) переводится как xmatch("Encoding [Vicky]",'Form Responses 1'!A1:M1), что выводит 8, поскольку оно находится на 8-м месте в заголовке; то же самое касается и других двух совпадений. наконец choosecols() объединяет их все в один вывод

Спасибо. Это работает, но у меня возникли проблемы с его анализом (я все еще новичок в более сложных формулах в Таблицах). Что именно здесь происходит?

Michael Mathews 16.07.2024 22:26

Рад, что они смогли решить эту проблему. Раньше я думал, что хорошо разбираюсь в формулах таблиц Google, пока не начал просматривать ответы @rockinfreakshow.

Kreeszh 16.07.2024 22:50

В раздел ответов добавлено базовое пояснение. Просмотрите документацию по конкретным формулам, чтобы получить более четкое представление. @Kreeszh Если вам интересно решить более широкий спектр задач по формулам, могу ли я порекомендовать посетить сообщество Reddit Sheets и сообщество Google Docs. Я тоже там...

rockinfreakshow 16.07.2024 22:51

@rockinfreakshow Спасибо за объяснение. Есть ли способ добавить к этому несколько диапазонов из других вкладок? Я пробовал использовать =let(Λ,{'Ответы формы 1'!A2:M,'Ответы формы 3'!A2:M}, Σ, offset(Λ,-1,,1),choosecols(Λ,1,xmatch (B4&" ["&A2&"]",Σ),xmatch(C4&" ["&A2&"]",Σ),xmatch("*sentence ["&A2&"]",Σ,2))) но я получаю Ошибка значения: «Параметр 3 функции CHOOSECOLS ожидает числовые значения, но получила ошибку».

Michael Mathews 17.07.2024 15:32

Пожалуйста, проверьте файл листа YEUDOI или посмотрите на эту формулу:

=ArrayFormula(QUERY('Формировать ответы 1'!A2:M,"Выбрать столбец1, "&"Col"&TEXTJOIN(",Col",1,MATCH(IF(B2:D2="Продиктовать предложение","*предложение" ,B2:D2)&" ["&A1&"]",'Формировать ответы 1'!A1:M1,0))&" ",0))

Спасибо. Есть ли способ объединить несколько вкладок этого листа с помощью этого метода?

Michael Mathews 23.07.2024 18:11

Я думаю, что есть метод, который можно использовать для нескольких листов; однако вам нужно поделиться файлом с примером

yeudoi 26.07.2024 11:29

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