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

101
Vistas
Copie solo celdas no vacías

Tengo este código que copia los datos de una columna y los transfiere a otra hoja en la parte inferior de la tabla. Esto funciona bien, pero el problema es que copia toda la columna, incluida la que está en blanco. Solo quiero limitar las celdas que se copiarán a celdas solo con datos. Aquí está el código:

 function addTitles() { let spreadSheet = SpreadsheetApp.getActiveSpreadsheet(); let sourceSheet = spreadSheet.getSheetByName('Data Entry'); let sourceRange = sourceSheet.getDataRange(); let sourceValues = sourceRange.getValues(); sourceValues = sourceValues.slice(1).map(row => row.slice(10,10+1)); let sheetToAdd = spreadSheet.getSheetByName('Cost of Goods'); let rowCount = sourceValues.length; let columnCount = sourceValues[0].length; let lastRow = sheetToAdd.getLastRow() + 1; let targetSheet = spreadSheet.getSheetByName('Cost of Goods'); let targetRange = targetSheet.getRange(lastRow,1,rowCount,columnCount); targetRange.setValues(sourceValues); let fillDown = sheetToAdd.getRange(lastRow, 2, lastRow-1, columnCount); sheetToAdd.getRange("B4:CV4").copyTo(fillDown); }

Aquí está la hoja de muestra: https://docs.google.com/spreadsheets/d/1AuzIZqIPbnqqZ0VirAOwY--7ISU22tAnc3ojsVwZRn4/edit?usp=sharing

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

0

Tema:

Si lo entiendo correctamente, desea filtrar las filas de sourceValues que tienen una cadena vacía como valor (solo está recuperando una columna, por lo que cada fila solo tiene un valor), usando filter .

Solución:

Si ese es el caso, podría simplemente reemplazar esto:

 sourceValues = sourceValues.slice(1).map(row => row.slice(10,10+1));

Con este:

 sourceValues = sourceValues.slice(1).map(row => row.slice(10,10+1)) .filter(row => String(row[0]));

Referencia:

  • filtrar
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