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

207
Vistas
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 Respuestas
Responde la pregunta

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