[]
        
(Showing Draft Content)

数式の設定

Spread.Sheetsでは、WorksheetクラスのsetFormulaメソッドを使用して、セルに数式を設定できます。 次の図は、さまざまな数式が適用された後の列Bの結果を示しています。

Cell formulas

セルに数式の設定

次のサンプルコードは、セルに数式を設定します。

window.onload = function()
{
   var spread =
   new GC.Spread.Sheets.Workbook(document.getElementById("ss"),
   {sheetCount:3});
   var activeSheet = spread.getActiveSheet();
   activeSheet.setRowCount(5);
   activeSheet.setColumnCount(2);
   activeSheet.getRange(-1, 1, -1, 1)
   .backColor("lightYellow")
   .width(120);
   activeSheet.setValue(0, 0, 10);
   activeSheet.setValue(1, 0, 20);
   activeSheet.setValue(2, 0, 30);
   activeSheet.setValue(3, 0, 40);
   activeSheet.setValue(4, 0, 50);

   // SUM関数を設定します(全パラメータ値を合計)。
   activeSheet.setFormula(0, 1, "SUM(A1:A5)");
 
   // PRODUCT関数を設定します(全パラメータ値を乗算)。
   activeSheet.setFormula(1, 1, "PRODUCT(A1:A5)");

   // AVERAGE関数を設定します(全パラメータ値の平均を計算)。
   activeSheet.setFormula(2, 1, "AVERAGE(A1:A5)");

  // セル(0,0)とセル(4,0)の合計を計算します。
  activeSheet.setFormula(3, 1, "A1 + A5");

  // セル(0,0)の値が10より大きい場合はこの値に2を乗算し、そうでない場合は3を乗算します。
    otherwise multiply it by 3. */
   activeSheet.setFormula(4, 1, "IF(A1>10, A1*2, A1*3)");
}

クロスシート参照の使用

数式内で、他のシートを参照できます。

編集状態を維持したまま数式内で他のシートを参照するには、シートタブまたは [すべてのシート]ボタン(ハンバーガーボタン)から対象シートを選択して、そのシートのセル範囲を選択します。

type=warning

メモ:すべてのシートのリストが表示されているときに、キーボードを使用して数式を入力することはできません。いったんシートの他の領域をクリックしてリストを閉じ、数式の編集状態を終了する必要があります。

次の図に示すように、数学 - 3 年生シートの B5 から F5 の値が、「山田 慎吾」シートの合計スコアを計算するために使用されます。

cross-worksheet-reference

次のサンプルコードは、クロスシート参照を使用します。

window.onload = function () {
    // コンストラクターを呼び出してスプレッドシートを作成します。
    let spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"), { sheetCount: 2 });
    initSpread(spread);
};

function initSpread(spread) {
    spread.suspendPaint();
    // テンプレートをロードします。
    spread.fromJSON(template);

    //「山田 慎吾」シートに数式を設定します。
    let sheet = spread.getSheetFromName("山田 慎吾")

    sheet.setText(3,0,"平均スコア:"); 
    sheet.setFormula(3,1,"=Average('数学 - 3 年生'!C5:G5)"); 
    sheet.setText(4,0,"合計"); 
	sheet.setFormula(4,1, "=Sum('数学 - 3 年生'!C5:G5)");

小計の使用

次の図に示すように、SUBTOTAL数式を設定できます。

Subtotals

次のサンプルコードは、小計を計算する数式を使用します。

$(document).ready(function ()
{
    var spread =
    new GC.Spread.Sheets.Workbook(document.getElementById("ss"),
    {sheetCount:3});
   
    var activeSheet = spread.getActiveSheet();
    activeSheet.setColumnCount(2);
    activeSheet.options.colHeaderAutoText = GC.Spread.Sheets.HeaderAutoText.blank;
    activeSheet.setText(0, 1, "Value", GC.Spread.Sheets.SheetArea.colHeader);
    activeSheet.options.gridline = {showHorizontalGridline: false};
    activeSheet.setText(3, 0, "Sub-Total1");
    activeSheet.setText(7, 0, "Sub-Total2");
    activeSheet.setText(8, 0, "Aggregate");
    activeSheet.getRange(3, -1, 1, -1).backColor("lemonChiffon");
    activeSheet.getRange(7, -1, 1, -1).backColor("lemonChiffon");
    activeSheet.getRange(8, -1, 1, -1).backColor("lightPink");
    activeSheet.setValue(0, 1, 100);
    activeSheet.setValue(1, 1, 200);
    activeSheet.setValue(2, 1, 300);
    activeSheet.setValue(4, 1, 400);
    activeSheet.setValue(5, 1, 500);
    activeSheet.setValue(6, 1, 600);
  
   // SUBTOTAL関数を使用して、小計と総計を設定します。
   activeSheet.setFormula(3, 1, "SUBTOTAL(9,B1:B3)");
   activeSheet.setFormula(7, 1, "SUBTOTAL(9,B5:B7)");
   activeSheet.setFormula(8, 1, "SUBTOTAL(9,B1:B7)");
});