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

200
Vistas
Intentando verificar varias celdas con .isBlank()

Actualmente estoy trabajando en un script de Google Apps que básicamente restablecerá mi hoja de cálculo al final del día.

 if(ss.getRange('D2').isBlank()){ ss.getRange('C2').moveTo(ss.getRange('D2')); } if(ss.getRange('D3').isBlank()){ ss.getRange('C3').moveTo(ss.getRange('D3')); } if(ss.getRange('D4').isBlank()){ ss.getRange('C4').moveTo(ss.getRange('D4')); } if(ss.getRange('D5').isBlank()){ ss.getRange('C5').moveTo(ss.getRange('D5')); }

Eso es lo que estoy usando actualmente, pero como probablemente se dé cuenta, esto se complica rápidamente. ¿Hay una mejor manera de hacer esto?

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

0

Es mucho más eficiente trabajar con matrices en lugar de valores individuales. De esta manera, solo tiene que obtener y configurar los datos una vez.

En el siguiente script, ajuste el nombre de la hoja y el rango deseado. El rango C2:D10 asume que la columna D es parte de la instrucción if y C es la columna en la que desea obtener los valores si D está vacía.

 function myFunction() { const sheetName = 'Sheet1'; // define the name of the sheet const range = 'C2:D10'; // define the range const sss = SpreadsheetApp.getActive(); const ss = sss.getSheetByName(sheetName); const data = ss.getRange(range).getValues(); data.forEach((r,i)=>{ data[i][1] = r[1] ==''? r[0] : r[1]; }) ss.getRange(range).setValues(data); }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Pruébelo con un forEach

 function lfunko() { const ss = SpreadsheetApp.getActive(); ['D2', 'D3', 'D4', 'D5'].forEach(r => { let rg = ss.getRange(r); if (rg.isBlank()) { ss.getRange(r).offset(0, -1).moveTo(rg) } }); }

Si bien es cierto, ciertamente hay formas más eficientes de hacer esto. Sentí que la interfaz de usuario se mejoró porque todo lo que tiene que hacer es agregar algunos rangos más a la matriz y no es necesario que sean contiguos. Por supuesto, si difieren el rango y las metodologías, entonces tendría que modificar el script.

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