tutorial sheets resaltar reglas personalizada hoja google funcion formato ejemplos duplicados condicional calculo google-apps-script google-spreadsheet custom-function

google apps script - sheets - ¿Cómo evaluar una fórmula de hoja de cálculo dentro de una función personalizada?



reglas de formato condicional en google drive (4)

Creo que debes dividir este tema en dos preocupaciones diferentes.

¿Desea tomar datos que ya están en la hoja de cálculo, realizar un cálculo y luego imprimir un resultado, o desea utilizar la función sin () en cálculos en código no relacionado con los datos en la hoja de cálculo?

Si intenta hacer lo último, debería poder hacer referencia a las funciones de la hoja de cálculo utilizando Math.sin() en su Google Apps Script. Para obtener más información sobre el uso de la función sin() en JavaScript, consulte esta publicación: http://www.w3schools.com/jsref/jsref_sin.asp

Si está tratando de hacer lo anterior, entonces lo que debe hacer es usar una función readRows() (más información disponible aquí: http://gassnippets.blogspot.com/2012/11/create-your-first-google-apps -script.html ) para cargar los datos de su hoja de cálculo en una variable (o variables) en la memoria, realizar sus cálculos e imprimir el resultado final en la hoja de cálculo con una función similar.

Déjeme saber si esto ayuda.

En una hoja de cálculo, puedo ingresar =SIN(45)+123 en una celda, y será evaluado.

¿Cómo puedo evaluar las funciones de la hoja de cálculo dentro de una función personalizada, algo así como una función "eval" que funcionaría así:

function myFunc() { return Sheet.eval("=SIN(45)+123") }

Es posible ?

Tenga en cuenta que no me importa la función SIN en particular, lo que quiero es tener acceso al completo arsenal de funciones de la hoja de cálculo ( PMT , QUERY , NPER , etc.)


Funciones de hoja de cálculo de Apps-Script

No es posible: esto se ha preguntado muchas veces. Te sugiero que consultes la lista de problemas de google-apps-script para ver si algo ha cambiado. Pero la última vez que lo revisé, no hay forma de hacerlo, y no tienen ningún plan para agregarlo. https://code.google.com/p/google-apps-script-issues/issues/list

Ethercalc - fórmulas de hojas de cálculo de script java

Si lo necesita, siempre puede copiar el código de "ethercalc" ya que tiene versiones de script de Java de las fórmulas de la hoja de cálculo. https://github.com/audreyt/ethercalc


Tengo esto funcionando. Usar el valor establecido hará el truco. Por lo tanto, algo como esto:

function MyFun1(){ SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(''A1'').setValue(Myfun2()) } function MyFun2(){ return "=SIN(45)+123" }

¡Espero que esto ayude!


No sé si es posible con funciones de alto nivel. Sin embargo, es posible con algunas funciones comunes y fáciles de entender, como (suma, resta, etc.).

A continuación se muestra el código que utilicé para establecer los valores después de que el cálculo se realiza en scripts mismos.

function MyFun1() { SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(''A1'').setValue(MyFun2()); } function MyFun2() { var one = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Dashboard"); var two = one.getRange(''A2'').getValue(); var three = one.getRange(''A3'').getValue(); return two*three; }

No olvide agregar un desencadenador "onEdit" en Myfun1 () para actualizar automáticamente el valor de retorno.