Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

205
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda