Cuando llamo a una función de hoja de cálculo, digamos int(f2)
, la función opera sobre el valor en la celda. Si cell("F2")
contiene 3,14159, el resultado sería 3. Pero cuando llamo a un tipo diferente de la función - por ejemplo: row(f8)
- La función toma la referencia de celda, y no el valor, en este caso, volviendo 8.referencias de celda de paso a funciones de hoja de cálculo
¿Cómo hago para que mi función personalizada funcione con la referencia, en lugar del valor?
Puedo pasar una cadena y usar getRange()
, pero si muevo o actualizo las celdas de la hoja, las cadenas no cambiarán.
ejemplo muy simple:
function GetFormula(cellname) {
return SpreadsheetApp.getActiveSheet().getRange(cellname).getFormula();
}
Con esto en código de mi hoja, que puede recuperar la fórmula en C4 como esto: =GetFormula("C4")
embargo, este argumento es una cadena, y preferiría pasar una referencia de celda Un problema algo más complicado requiere que las células llamantes se actualicen cuando se copian y se pegan.
¿Alguna idea?
Aquí es una solución temporal y no una solución - '= GetFormula (DIRECCIÓN (FILA (F8), columna (F8)))' – megabyte1024
que va a hacer lo que quiero, pero, chico, ¿es feo! Ahora, tengo que explicárselo a cualquiera que lo vea, ¿sabes? – HardScale
Tema relacionado en [webapps.se]: [¿Cómo pasar un rango a una función personalizada en Google Spreadsheets?] (Http://webapps.stackexchange.com/questions/10629/how-to-pass-a-range- into-a-custom-function-in-google-spreadsheets /) –