Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

160
Vistas
Filtre una tabla en AppScript ignorando la primera fila (nombres de columna)

Debido a los problemas que tiene Google Sheets con la función ImportRange, quería crear un AppScript para reemplazar ImportRange. Soy nuevo en JS pero actualmente tengo lo siguiente:

 function My_ImportRange() { var clearContent = SpreadsheetApp.getActive().getSheetByName("Sheet 1").getDataRange().clearContent() var values = SpreadsheetApp.openById('sheet-id'). getSheetByName('name').getRange('A:AI').getValues(); // filtering data var filtered_values = values.filter(filterlogic) SpreadsheetApp.getActive().getSheetByName('Sheet 1'). getRange(2,1,filtered_values.length,filtered_values[0].length).setValues(filtered_values); } var filterlogic = function(item){ return item[0] === "filter 1" && item[6] === "filter 2";};

El problema que tengo es que cuando filtro la tabla (con la función filterlogic), los nombres de la primera fila o columna se eliminan debido al filtro .

¿Cómo puedo decirle al filtro que solo ejecute la lógica desde la segunda fila, ignorando los nombres de las columnas?

¡Gracias de antemano!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Utilice el siguiente guión.

Elimine el encabezado usando shift y agréguelo nuevamente después de filtrar usando unshift

 // assuming data is in Sheet1 A:H var values = SpreadsheetApp.getActive().getSheetByName("Sheet1").getRange('A:H').getValues(); // remove headers before filtering var headers = values.shift(); // filter values var filtered_values = values.filter(filterlogic) // append back the headers in the first row after filtering filtered_values.unshift(headers); Logger.log(filtered_values)

O dígale al filtro que excluya el índice 0, que debería ser la primera fila.

Si filtramos "A" y 10 para la columna A y G:

 var filterlogic = function(item, index){ // return true IF condition is met OR index is 0 or the first row. return (item[0] === "A" && item[6] === 10) || index == 0; };

Ambas modificaciones excluirán el primer elemento en los valores, que es la primera fila. Elige lo que creas que es mejor. Ambos devolverán los mismos datos.

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda