Pregunta

I tiene una función personalizada como un script de hoja de cálculo de Google, que depende de los valores de algunas otras células. Se ejecuta bien la primera vez que lo puse en una celda, pero luego cuando cambia los datos de las otras células que se mantiene igual. ¿Cómo puedo hacer la primera actualización de celda su valor de forma automática cuando cambio las otras células?

¿Fue útil?

Solución

He encontrado una respuesta que no lo hace totalmente me hace feliz pero es lo suficientemente buena conjetura I. Si se agrega una función llamada onEdit al guión de una hoja de cálculo, que será llamado cada vez que se edita cosas. Por lo tanto, este es el código que funcionó para mí: (tiene algunos detalles que podrían ser útiles por lo que los dejó sin editar)

function onEdit(event) {
  if (SpreadsheetApp.getActiveSheet().getName().substr(0,5) == "thing")
    SpreadsheetApp.getActiveSheet().getRange("I1").setValue(myCustomFunction());
}

Esto hace que las hojas cuyo nombre comienza con thing, consiguen el resultado de myCustomFunction en I1 celular.

Otros consejos

Tengo un problema similar.

Esta es la forma en que lo estoy haciendo atm, pero no es la mejor solución. Busco a una mejor.

Si algún valor a precios de hoja y cambios columna D. Es decir, si cualquier valor de la celda cambia en toda la columna se actualiza el valor de la función personalizada.

//Search Price sheet with the given name. Return price. dummy param updates google ss once the "Prices" sheet values changed.
function searchPrice(price,dummy)
{
  var SPREADSHEET_NAME = "Prices";
  var SEARCH_COL_IDX = 2;
  var RETURN_COL_IDX = 3;
  var values = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SPREADSHEET_NAME).getDataRange().getValues();
  for (var i = 0; i < values.length; i++)
  {
    var row = values[i];
    if (row[SEARCH_COL_IDX] == price)
    {
      return row[RETURN_COL_IDX];
    }
  }
}

Así es como se llama = searchPrice (B8, precios D: D)

Sólo darle a su función personalizada un parámetro ficticio. No sirve de nada en la función personalizada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top