Google Dokümanı (e-tablo değil) içeriğiyle ilgili temel matematik işlemleri yapın


12

Microsoft Word'de, örneğin =SUM(ABOVE)bir sütunun veya =SUM(LEFT)benzerinin toplamını görüntülemek için çok basit bir formül kullanmak mümkündür. Google Dokümanlar'da benzer bir şey yapmak mümkün mü? Açıkçası bu, Google E-Tablolar'da mümkündür, ancak bunu bir belgedeki bir tablo içinde yapmam gerekiyor.

Yanıtlar:



3

Apps Komut Dosyasının bu amaçla kullanılmasını göstermek için, bir belgedeki seçili değerleri toplayan bir işlev yazdım: bir tabloda veya bir paragrafta veya birkaç paragrafta vb.

"Özel" altında bulunan "Toplam seçildi" menü komutu ile çağrılır; bu menü öğesi belge açıldığında oluşturulur. Seçim metni boşlukla ayrılır ve daha sonra her bir parça bir sayı olarak yorumlanır (mümkünse). Bu numaralar eklenir ve sonuç bir alertiletişim kutusu ile kullanıcıya gösterilir . (Belgeye eklemeyi düşündüm, ancak bunun için doğal bir yer yok: bir kullanıcı metin seçtiğinde imleç konumu kaybolur.)

Bu bir defalık bir hesaplamadır; değerler değiştirilirse, tekrar yapılması gerekir.

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

Eklenebilir Ters Çevrilebilir Formüller - Sketch-n-Script'i kullanarak, bir tablo görüntülemek ve üzerinde rasgele JavaScript hesaplaması yapmak için formüller ekleyebilirsiniz.

Belgenize yazın:

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

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

Totals

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

"Görüntüleme değerleri" ni tıklayın. Aşağıdakileri elde etmelisiniz - 'Toplamlar'a kalın ekledim:

sıva

Eklentinin URL'si: https://chrome.google.com/webstore/detail/formulas-for-google-docs/kgjbgmonlnhglokmfnpnklegakfknbeh

Feragatname: Bu eklentinin yazarıyım. Yasal Uyarı: Şu an için, oluşturulan tabloları görsel olarak değiştirmek henüz mümkün değildir. Üzerinde çalışıyorum.


0

Çektiğim user79865 kodunu ve bazı değişiklikler yaptık.

Bu kod, seçilen bir metindeki basit denklemleri değerlendirebilir:

function onOpen() {  
  DocumentApp.getUi().createMenu('Custom')  
  .addItem('Evaluate', 'evaluate').addToUi()  
  .addToUi();
}

function evaluate() {      
  var selection = DocumentApp.getActiveDocument().getSelection();  
  if (selection) {  
    var element = selection.getRangeElements()[0];  
    var text = element.getElement().editAsText();  
    if (text) {  
      var str = text.getText();  
      if (element.isPartial()) {  
        str = str.slice(element.getStartOffset(), element.getEndOffsetInclusive() + 1);  
      }  
      var val = eval(str);  
      val = +val.toFixed(2)  
      DocumentApp.getUi().alert("Equation: " + str + "\nResult: " + val);                             
      //text.appendText('\nAppended text.');  
    }  
  }  
}

Ayrıca, son satırı açmak da mümkündür ve kod cevabı belgeye yazacaktır.

Kullandığım ve iyi çalıştığım operatörler:

  • + İlave
  • Çıkarma
  • * Çarpma işlemi
  • / Bölünme
  • ** Üs
  • ( ) İşlem sırasına göre grup numaraları
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.