Esegui calcoli di base sui contenuti del documento Google (non sul foglio di calcolo)


11

In Microsoft Word, è possibile utilizzare una formula molto semplice, ad esempio =SUM(ABOVE)per visualizzare il totale di una colonna o =SUM(LEFT)ecc. È possibile fare qualcosa di simile in Google Documenti? Ovviamente questo è possibile in Fogli di lavoro Google, ma devo farlo all'interno di una tabella in un documento.

Risposte:



3

Per illustrare l'uso di Apps Script a tale scopo, ho scritto una funzione che somma i valori selezionati in un documento: o in una tabella, o in un paragrafo, o in diversi paragrafi, ecc.

Viene richiamato dal comando di menu "Somma selezionata", presente in "Personalizzato"; questa voce di menu viene creata all'apertura del documento. Il testo delle elezioni viene diviso per spazi bianchi, quindi ogni pezzo viene interpretato come un numero (se possibile). Tali numeri vengono aggiunti e il risultato viene visualizzato all'utente da una alertfinestra di dialogo. (Ho pensato di inserirlo nel documento, ma non c'è un posto naturale per esso: quando un utente sta selezionando il testo, la sua posizione del cursore si perde.)

Questo è un calcolo una tantum; se i valori vengono modificati, è necessario eseguirlo nuovamente.

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

Utilizzando le formule reversibili del componente aggiuntivo - Sketch-n-Script, è possibile aggiungere formule per visualizzare una tabella e anche per eseguire calcoli JavaScript arbitrari su di essa.

Scrivi nel tuo documento:

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

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

Totals

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

Fai clic su "Visualizza valori". Dovresti ottenere quanto segue: ho aggiunto il grassetto a "Totali":

interpretazione

URL del componente aggiuntivo: https://chrome.google.com/webstore/detail/formulas-for-google-docs/kgjbgmonlnhglokmfnpnklegakfknbeh

Disclaimer: sono l'autore di questo componente aggiuntivo. Dichiarazione di non responsabilità: per ora non è ancora possibile modificare visivamente le tabelle renderizzate. Ci sto lavorando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.