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.

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);
  }
}

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.