Realize matemáticas básicas no conteúdo do documento do Google (não na planilha)

11

No Microsoft Word, é possível usar uma fórmula muito simples, por exemplo, =SUM(ABOVE)para exibir o total de uma coluna ou =SUM(LEFT)etc. É possível fazer algo semelhante no Google Docs? Obviamente, isso é possível nas planilhas do Google, mas preciso fazer isso dentro de uma tabela em um documento.

Jonathan Day
fonte

Respostas:

3

Para ilustrar o uso do Apps Apps para esse fim, escrevi uma função que soma valores selecionados em um documento: em uma tabela ou em um parágrafo ou em vários parágrafos, etc.

É chamado pelo comando de menu "Soma selecionada", encontrado em "Personalizado"; esse item de menu é criado quando o documento é aberto. O texto da eleição é dividido por espaços em branco e, em seguida, cada peça é interpretada como um número (se possível). Esses números são adicionados e o resultado é exibido ao usuário por uma alertcaixa de diálogo. (Considerei inseri-lo no documento, mas não há um local natural para ele: quando um usuário seleciona texto, sua posição do cursor é perdida.)

Este é um cálculo único; se os valores forem alterados, seria necessário executá-lo novamente.

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

fonte
0

Usando as Fórmulas reversíveis adicionais - Sketch-n-Script, você pode adicionar fórmulas para exibir uma tabela e também executar cálculos arbitrários de JavaScript nela.

Escreva no seu documento:

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

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

Totals

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

Clique em "Exibir valores". Você deve obter o seguinte - adicionei negrito a 'Totais':

Renderização

URL do complemento: https://chrome.google.com/webstore/detail/formulas-for-google-docs/kgjbgmonlnhglokmfnpnklegakfknbeh

Isenção de responsabilidade: eu sou o autor deste complemento. Isenção de responsabilidade: A partir de agora, ainda não é possível modificar as tabelas renderizadas visualmente. Eu estou trabalhando nisso.

Mikaël Mayer
fonte