스프레드 시트가 아닌 Google 문서의 내용에 대한 기본 수학 수행


12

Microsoft Word에서는 매우 간단한 수식을 사용 =SUM(ABOVE)하여 열의 총계 =SUM(LEFT)등 을 표시 할 수 있습니다. Google 문서 도구에서 비슷한 작업을 수행 할 수 있습니까? 분명히 이것은 Google 스프레드 시트에서 가능하지만 문서의 테이블 내에서해야합니다.

답변:



3

이러한 목적으로 Apps Script의 사용법을 설명하기 위해 문서, 표 또는 단락 또는 여러 단락 등에서 선택한 값을 합산하는 함수를 작성했습니다.

"Custom"아래에있는 "Sum selected"메뉴 명령에 의해 호출됩니다. 이 메뉴 항목은 문서를 열 때 만들어집니다. 선택 텍스트는 공백으로 나눈 다음 각 조각은 숫자로 해석됩니다 (가능한 경우). 이러한 숫자가 추가되고 alert대화 상자 가 결과를 사용자에게 표시합니다. (문서에 삽입하는 것을 고려했지만 자연스러운 위치는 없습니다. 사용자가 텍스트를 선택할 때 커서 위치가 손실됩니다.)

이것은 일회성 계산입니다. 값이 변경되면 다시 수행해야합니다.

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

추가 기능 가역 수식-Sketch-n-Script를 사용하여 수식을 추가하여 테이블을 표시하고 임의의 JavaScript 계산을 수행 할 수 있습니다.

문서를 작성하십시오.

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

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

Totals

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

"값 표시"를 클릭하십시오. 다음을 얻어야합니다- 'Totals'에 굵게 표시했습니다.

표현

부가 기능의 URL : https://chrome.google.com/webstore/detail/formulas-for-google-docs/kgjbgmonlnhglokmfnpnklegakfknbeh

면책 조항 : 저는이 부가 기능의 저자입니다. 면책 조항 : 현재로서는 렌더링 된 테이블을 시각적으로 수정할 수 없습니다. 나는 노력하고 있습니다.


0

user79865의 코드를 가져 와서 약간 변경했습니다.

이 코드는 선택한 텍스트에서 간단한 방정식을 평가할 수 있습니다.

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

마지막 줄의 주석을 해제하는 것도 가능하며 코드는 문서에 답을 쓸 것입니다.

내가 잘 사용하고 잘 작동 한 운영자 :

  • + 부가
  • 빼기
  • * 곱셈
  • / 분할
  • ** 지수화
  • ( ) 작업 순서대로 그룹 번호
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.