Копирование Листа данных1 на Лист2, чтобы вы могли сортировать и редактировать оба листа (скрипт приложений Google?)
Я работаю над защитными листами и думаю, что мне нужно использовать скрипт приложений Google, чтобы делать то, что я хочу, но я психолог из некоммерческой университетской больницы, пытаюсь сделать что-то хорошее, а не программист (что, вероятно, показывает), и я я отчаянно нуждаюсь в помощи. Я пытаюсь создать серию электронных таблиц для отслеживания участия в семинарах для нашего метода лечения.
1) У меня есть лист «Participant_Registration», где вводится основная информация
2) Я хочу перенести информацию только из первых четырех столбцов (A: D) «Participant_Registration» на второй лист «Learning_Sessions_Attendance»
3) Я также перенесу ту же информацию на третий лист «Consultation1_Attendance» - но мне нужно сначала отфильтровать и выбрать только тех людей, которые включены в эту группу.
Вот ссылка на копию моей таблицы.https://docs.google.com/spreadsheets/d/17d0bT4LZOx5cyjSUHPRFgEZTz4y1yEL_tO3gtSJ4UJ8/edit?usp=sharing
В более общем смысле это то, что я пытаюсь сделать. Возможно ли это в скриптах приложения Google? Кажется, так и должно быть.
1) У меня есть оригинальные данные в листе 1
2) Я хочу, чтобы первые четыре столбца (A: D) были перенесены на sheet2 (это нормально, если мне нужна переменная триггера)
3) Я хочу, чтобы они передавались таким образом, что если вы сортируете любой лист, данные все еще в порядке (все еще связаны с правой линией).
4) В идеале, если есть изменения в данных на исходном листе (Лист1), то же самое изменение будет внесено в Лист2.
5) В идеале все это должно происходить автоматически без вмешательства человека через сценарий.
Есть идеи?? Мне так нужна твоя помощь. Я был по всему форуму, git hub, и сделал кучу поисков и попробовал следовать множеству примеров, которые я видел, но ничего не работает. Мне действительно нужна помощь.
Вот мои примеры сценариев, каждый из которых имеет проблему:
// Следующий код копирует диапазон от sheet1 до sheet2, как я хотел. Проблема возникает, если после копирования данных из листа1 мы добавим данные в другие столбцы на листе 2. Позже, если мы отсортируем некоторую переменную (которую люди обязаны делать), если функция будет развернута снова, она перезапишет данные, означающие, что данные из листа 1 не связаны с нужным человеком на листе 2
function CopyRange() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Participant_Registration");
var range = sheet.getRange("A14:D");
var values = range.getValues();
var target = ss.getSheetByName("Learning_Sessions_Attendance");
var target_range = target.getRange("A10:D");
range.copyTo(target_range);
}
Поэтому я попробовал еще раз. На этот раз я попытался скопировать последнюю отредактированную строку с листа1 на лист2. Эта функция не работает для меня.
function CopyRow2() {
// Get Spreadsheets
var source = SpreadsheetApp.openById("1egn6pnRd6mKMGuQxX_jtgwYDtkuMUv2QJItLdh7aIEs");
var target = SpreadsheetApp.openById("1egn6pnRd6mKMGuQxX_jtgwYDtkuMUv2QJItLdh7aIEs");
// Set Sheets
var source_sheet = source.getSheetByName("Participant_Registration");
var target_sheet = target.getSheetByName("Learning_Sessions_Attendance");
var rowIdx = source_sheet.getActiveRange().getRowIndex();
var rowValues = source_sheet.getRange(rowIdx,1,1,source_sheet.getLastRow()).getValues();
Logger.log(rowValues);
var destValues = [];
destValues.push(rowValues[0][0]);// copy data from col A to col A
destValues.push(rowValues[0][1]);//copy data from col B to col B
destValues.push(rowValues[0][2]);//copy data from col C to col C
destValues.push(rowValues[0][3]);//copy data from col D to col D
var dest=source.getSheets()[4];
dest.getRange(dest.getLastRow()+1,1,1,destValues.length).setValues([destValues]);//update destination sheet with selected values in the right order, the brackets are there to build the 2D array needed to write to a range
}
Поэтому я попробовал снова и снова. У меня много примеров, но ни один из них не работает.
Спасибо. Chandra