Copiar Data Sheet1 a Sheet2 para que pueda ordenar y editar ambas hojas (¿script de aplicaciones de Google?)

Estoy trabajando en hojas de gafas y creo que necesito usar un script de aplicaciones de Google para hacer lo que quiero, pero soy psicólogo en un hospital universitario sin fines de lucro que intenta hacer algo bueno y no un programador (lo que probablemente se muestra) y yo Necesito ayuda desesperadamente. Estoy tratando de configurar una serie de hojas de cálculo para rastrear la participación en talleres para nuestro método de tratamiento.

1) Tengo una hoja "Participant_Registration" donde se ingresa información básica

2) Quiero transferir información de solo las primeras cuatro columnas (A: D) de "Participant_Registration" a una segunda hoja "Learning_Sessions_Attendance"

3) También estoy transfiriendo la misma información a una tercera hoja 'Consulta1_Atención', pero primero necesito filtrar y seleccionar solo aquellas personas asignadas a ese grupo.

Aquí hay un enlace a una copia de mi hoja de cálculo.https://docs.google.com/spreadsheets/d/17d0bT4LZOx5cyjSUHPRFgEZTz4y1yEL_tO3gtSJ4UJ8/edit?usp=sharing

Más genéricamente, esto es lo que estoy tratando de hacer. ¿Es esto posible en los scripts de la aplicación de Google? Parece que debería ser.

1) Tengo datos originales en la hoja 1

2) Quiero que las primeras cuatro columnas (A: D) se transfieran a la hoja2 (está bien si necesito una variable de activación)

3) Quiero que se transfieran de tal manera que si ordena cualquiera de las hojas, los datos aún estén bien (aún vinculados a la línea correcta).

4) Idealmente, si hay un cambio en los datos en la hoja de origen (Hoja1), el mismo cambio se realizará en la Hoja2.

5) Idealmente, todo esto sucedería automáticamente sin intervención humana a través de un guión.

¿¿Algunas ideas?? Necesito tu ayuda He estado en todo el foro, git hub, e hice un montón de búsquedas e intenté seguir muchos ejemplos que vi pero nada funciona. Realmente necesito ayuda.

Aquí están mis scripts de muestra, cada uno con un problema:

// El siguiente código copia un rango de sheet1 a sheet2 como quería. Se produce un problema si después, si copiamos los datos de la hoja1, agregamos datos a otras columnas en la hoja2. Más adelante, si clasificamos alguna variable (que las personas están obligadas a hacer) si la función se implementa nuevamente, sobrescribirá los datos, lo que significa que los datos de la hoja1 no están conectados al individuo correcto en la hoja2

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);
}

Así que lo intenté de nuevo. Esta vez intenté copiar la última fila editada de sheet1 a sheet2. Esta función no parece funcionar para mí.

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
}

Así que lo intenté una y otra vez. Tengo muchos ejemplos, pero ninguno parece funcionar.

Muchas gracias. Chandra

Respuestas a la pregunta(1)

Su respuesta a la pregunta