Actualmente tengo una hoja con múltiples parámetros vinculados a múltiples coeficientes. Tengo un parámetro en el lado izquierdo y un parámetro en el lado derecho.
Cómo hacer para que en la MISMA LÍNEA aparezcan los coeficientes del mismo parámetro (los parámetros del lado derecho serán entonces los mismos que los del lado izquierdo en la misma línea). Si un parámetro de la izquierda no aparece a la derecha, deje un espacio en blanco a la derecha. También tengo, para ciertos parámetros, varios coeficientes.
Descripción
El siguiente ejemplo utiliza los coeficientes de la columna A y filtra todos los coeficientes coincidentes de la columna E:G. También los organiza en la misma fila.
Guion
function test() { try { let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Test"); let sheetLastRow = sheet.getLastRow(); // Get range of A:C let coef1 = sheet.getRange(1,1,sheetLastRow,3); let lastRow = coef1.getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow(); coef1 = coef1.getValues(); if( lastRow < sheetLastRow ) coef1 = coef1.slice(0,lastRow); // Put headers in result array let result = [coef1.shift()]; // Get range of E:G let coef2 = sheet.getRange(1,5,sheetLastRow,3); lastRow = coef2.getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow(); coef2 = coef2.getValues(); if( lastRow < sheetLastRow ) coef2 = coef2.slice(0,lastRow); // Remove headers coef2.shift(); // Find unique coef numbers let coef = [...new Set( coef1.map( row => row[0] ) )]; // Filter all elements from E:G matching A:C coef.forEach( c => { let match = coef2.filter( row => row[0] === c ); if( match.length === 0 ) { result.push(['','','']); } else { result = result.concat(match); } }); // For now put in I:K sheet.getRange(1,9,result.length, result[0].length).setValues(result) } catch(err) { console.log(err); } }Captura de pantalla
Referencia