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

210
Views
Pegue el valor estático en la columna además de si la celda en particular está vacía en las hojas de Google

Tal vez no pueda explicarme mejor, pero haré mi mejor esfuerzo. Tengo dos columnas, digamos A y B, en la columna A hay fórmulas para que los valores en ellas cambien dependiendo de otras condiciones. Ahora lo que quiero en la columna B es pegar/ setvalue el valor por primera vez cada vez que aparece un valor en columna A, de modo que cuando haya más cambios en la columna A, no afectará el valor que se pega en la columna B. Aunque hice todo lo posible para escribir el script, pega el valor pero pega en todos la columna y no le importa si alguna celda en la columna A está vacía.

He investigado mucho pero no he podido encontrar una respuesta. Aunque OnEdit puede funcionar, pero como la columna de la que se obtiene el valor tiene fórmulas y OnEdit no funciona en fórmulas. Entonces, una vez que se corrige el guión, podemos activarlo para controlar el tiempo.

Solo necesito la ayuda para que esta función funcione correctamente, estaré muy agradecido por cualquier ayuda. gracias.

 function pastevalue(){ var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet1'); var lastrow = ss.getRange("A2:B").getValues().filter(String).length; var range = ss.getRange(2,1,lastrow); var pasterange = ss.getRange(2,2,lastrow); var values = range.getValues().filter(String); var pastevalues = pasterange.getValues(); for (i=0; i<values.length; i++){ if(pastevalues[i] == ""){ var value = pasterange.setValue(values[i]) } } }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Supongo que su objetivo es tomar el valor numérico de una fórmula inmediatamente después de ingresarla, de modo que si el valor que se muestra en la celda de la fórmula cambia en el futuro, aún posee el valor original que arrojó la fórmula. El siguiente script logra eso:

 function onEvent(e){ var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); if (e.range.getColumn() == 1 && typeof e.oldValue == 'undefined'){ sheet.getRange(e.range.getRow(), 2).setValue(e.range.getValue()); } }

Tenga en cuenta que es un disparador de eventos, lo que significa que se ejecuta cada vez que se edita la hoja de cálculo. Como parámetro de la función, tomamos el evento que activó el script (puede leer cómo están estructurados aquí ), y luego verificamos dos condiciones que deben cumplirse para copiar el valor en la columna B:

  • Primero comprobamos que la columna de la celda modificada sea la columna A (1ª).
  • Luego comprobamos que la celda estaba en blanco antes de la modificación. Esto significará que el valor solo se copiará cuando se escriba una fórmula en una celda en blanco.
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!