Контрольный список фильтров, копирование/вставка диапазона на другой лист (местоположение на основе совпадения слов), вставка новых строк по мере необходимости, запуск по нажатию кнопки, сброс листа

Итак, я работаю в Google Sheets, используя Apps Script, над электронной таблицей с 4 вкладками. Названия: «План тестирования», «Синий каталог тестов», «Красный каталог тестов», «Зеленый каталог тестов».

На вкладках «Каталог» я хочу, чтобы «Лиды» вошли, и отметьте все флажки для всех тестов, которые необходимо выполнить. Таким образом, синий лид проверяет и назначает все синие тесты из каталога синих тестов, а красный/зеленый лид делает то же самое. После того, как каждый человек отметил все свои флажки, он нажимает кнопку на своем листе «Добавить в план».

Все отмеченные флажки и их строки со своей вкладки затем копируются на вкладку «План тестирования» в соответствующем разделе «Тест» («Синие тесты», «Красные тесты», «Зеленые тесты»). Итак, у меня есть один аккуратный документ, в котором перечислены все тесты в одном месте по их категориям.

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

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

Я не силен в программировании - это не нормальная часть моей работы. Но за эти годы мне удалось собрать воедино некоторые вещи, основываясь на моем поиске в Google и на этом веб-сайте, поэтому я подумал, что обращусь за помощью. К сожалению, у меня даже нет примера кода для работы. Я потратил 2 полных дня, пытаясь это сделать, и продолжаю удалять. Мне удалось хотя бы написать скрипт для копирования и вставки диапазона в зависимости от того, где я нахожусь на кнопке/листе, но он копируется в нижнюю часть страницы. Я не могу понять, как сделать фильтр списка на основе значения флажка TRUE, а затем только скопировать и вставить эти значения. Затем мне нужно выяснить, как выполнить поиск кода и сопоставить «Синие тесты» на вкладке «Каталог синих тестов» со словом «Синие тесты» на вкладке «Планирование тестирования» и вставить 4 строки вниз от него, вставив новые строки. по мере необходимости, чтобы не допустить перезаписи.

Любая помощь будет оценена по достоинству. Образец листа здесь.

Это очень распространенный вопрос, вы должны найти несколько подобных сценариев в SO и других местах. У вас есть собственные исследования по этому вопросу.

Cooper 19.03.2022 00:19

Спасибо, Купер - я изучал это и пытался сделать это самостоятельно в течение 2 дней. К сожалению, я не являюсь опытным программистом, поэтому, возможно, я ищу не те области или использую не те ключевые слова. Надеюсь, что кто-то может помочь мне в сообществе.

afrofrenchchick 19.03.2022 05:20

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

Community 21.03.2022 04:22
Стоит ли изучать 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 называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
3
33
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Почему бы не сделать это более простым способом

 = {"Blue test","","","","";query('Blue Test Catalog'!A3:AG,"select B,K,N,Q,X where A=true",1);
"","","","","";
"Red test","","","","";query('Red Test Catalog'!A3:AG,"select B,K,N,Q,X where A=true",1);
"","","","","";
"Green test","","","","";query('Green Test Catalog'!A3:AG,"select B,K,N,Q,X where A=true",1)}

Я добавляю условное форматирование

что-то можно сделать, чтобы разделить формулу на 5 пакетов

Спасибо, Майк, но у меня есть вопрос. Форматирование, которое у меня есть, важно с эстетической точки зрения. Есть ли способ заменить часть «выберите B, K, N, Q, X» диапазоном? Я хочу скопировать и вставить точный диапазон, который уже отформатирован именно так, как он должен копироваться. Вы бы обернули запрос в массив, чтобы добиться этого?

afrofrenchchick 19.03.2022 05:14

К сожалению, нет простого способа с объединенными ячейками, даже с помощью скрипта.

Mike Steelson 19.03.2022 06:50

взгляните на вторую версию

Mike Steelson 19.03.2022 07:18

все формулы находятся в строке №9 в docs.google.com/spreadsheets/d/…

Mike Steelson 19.03.2022 17:06

Спасибо, Майк! В итоге я реализовал ваше решение и просто защитил ячейки с формулами, чтобы никто не связывался с ним. Оцените помощь здесь.

afrofrenchchick 22.03.2022 20:39

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