Копирование Листа данных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

Ответы на вопрос(1)

Ваш ответ на вопрос