Realizar cálculos básicos sobre el contenido del documento de Google (no la hoja de cálculo)

11

En Microsoft Word, es posible usar una fórmula muy simple, por ejemplo, =SUM(ABOVE)para mostrar el total de una columna, =SUM(LEFT)etc. ¿Es posible hacer algo similar en Google Docs? Obviamente, esto es posible en las hojas de cálculo de Google, pero necesito hacerlo dentro de una tabla en un documento.

Jonathan Day
fuente

Respuestas:

3

Para ilustrar el uso de Apps Script para tal fin, escribí una función que suma los valores seleccionados en un documento: en una tabla, en un párrafo, o en varios párrafos, etc.

Se invoca mediante el comando de menú "Suma seleccionada", que se encuentra en "Personalizado"; Este elemento de menú se crea cuando se abre el documento. El texto de la elección se divide por espacios en blanco, y luego cada pieza se interpreta como un número (si es posible). Tales números se agregan y el resultado se muestra al usuario mediante un alertcuadro de diálogo. (Pensé en insertarlo en el documento, pero no hay un lugar natural para ello: cuando un usuario selecciona texto, se pierde la posición del cursor).

Este es un cálculo de una sola vez; Si se cambian los valores, sería necesario realizarlo nuevamente.

function onOpen() {
  DocumentApp.getUi().createMenu('Custom').addItem('Sum selected', 'sum').addToUi();  
}

function sum() {  
  var selection = DocumentApp.getActiveDocument().getSelection();
  if (selection) {
    var elements = selection.getRangeElements();
    var s = 0;
    for (var i = 0; i < elements.length; i++) {
      var element = elements[i];
      var text = element.getElement().editAsText();
      if (text) {
        var str = text.getText();
        if (element.isPartial()) {
          str = str.slice(element.getStartOffset(), element.getEndOffsetInclusive() + 1);
        }
        var pieces = str.split(/\s+/);
        for (var j = 0; j < pieces.length; j++) {
          s += (parseFloat(pieces[j], 10) ? parseFloat(pieces[j], 10) : 0);
        }
      }
    }
    DocumentApp.getUi().alert(s);
  }
}

fuente
0

Usando las fórmulas reversibles adicionales - Sketch-n-Script, puede agregar fórmulas para mostrar una tabla y también para realizar un cálculo arbitrario de JavaScript en ella.

Escribe en tu documento:

expenses = ([10, 20, 30])
incomes = ([30, 20, “”])

=table([["Expenses", "Income"]].concat(rotate([expenses, incomes])))

Totals

=table([["Expenses", "Income"]].concat([[sum(expenses),sum(incomes)]]))

Haga clic en "Mostrar valores". Debería obtener lo siguiente: agregué negrita a 'Totales':

Representación

Url del complemento: https://chrome.google.com/webstore/detail/formulas-for-google-docs/kgjbgmonlnhglokmfnpnklegakfknbeh

Descargo de responsabilidad: soy el autor de este complemento. Descargo de responsabilidad: a partir de ahora, todavía no es posible modificar visualmente las tablas representadas. Estoy trabajando en ello.

Mikaël Mayer
fuente