Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

192
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!