Home » Googleスプレッドシートの使い方 » Google Apps ScriptでスプレッドシートにIF関数を入力する

Google Apps ScriptでスプレッドシートにIF関数を入力する

対象:Googleスプレッドシート & Google Apps Script

「google apps script セルにif関数」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

Googleスプレッドシート上のセルにIF関数を使った数式を入力する、GAS(Google Apps Script)スクリプトを探していた方によるものでしょう。

参考になりそうなスクリプトを、二つご紹介しておきます。

[スポンサードリンク]

選択されているセルにIF関数を入力するサンプルスクリプト

ひとつ目は、選択されているセル範囲にIF関数を使った数式を入力するGASスクリプトです。

function set_IF_function_ActiveRange(){

 var bk = SpreadsheetApp.getActiveSpreadsheet();
 var sh = bk.getActiveSheet();
 var rng = sh.getActiveRange();

 var fml = '=IF(R[0]C[-1]>=80, "合格", "不合格")';
 rng.setFormulaR1C1(fml);

}

例えば、B1セルが選択されている状態で上記のスクリプトを実行すると、選択されているB1セルに、
 =IF(A1>=80, "合格", "不合格")
という数式が入力されます。

R1C1形式で数式を作成しておいてから、
 var fml = '=IF(R[0]C[-1]>=80, "合格", "不合格")';

Range.setFormulaR1C1()メソッドで、アクティブなセルに数式を入力しています。
 rng.setFormulaR1C1(fml);

「google apps script セルにif関数」
という検索をしていた方は、数式を作成する、
 var fml = '=IF(R[0]C[-1]>=80, "合格", "不合格")';
の部分に躓いてらしたのではないかと推測しています。

Range.setFormula()メソッドでも数式を入力できますが、setFormulaR1C1()メソッドのほうがGASから数式を入力する場合に汎用性が高いように感じますので、ここではFormulaR1C1()メソッドを使ったスクリプトをご紹介しています。

for文でIF関数を入力するサンプルスクリプト

もうひとつは、ループ文で、IF関数を使った数式を入力するスクリプトです。

function set_IF_function_rowB(){

 var bk = SpreadsheetApp.getActiveSpreadsheet();
 var sh = bk.getActiveSheet();

 var end_row = sh.getLastRow();
 var fml = '=IF(R[0]C[-1]>=80, "合格", "不合格")';

 for(var i=1; i<=end_row; i++){
  sh.getRange(i, 2).setFormulaR1C1(fml);
 }

}

例えば、10行目までにデータが入力されているシートがアクティブな状態で、上記のスクリプトを実行すると、B1:B10セルに、
 =IF(A1>=80, "合格", "不合格")
といった数式が入力されます。

[スポンサードリンク]

Home » Googleスプレッドシートの使い方 » Google Apps ScriptでスプレッドシートにIF関数を入力する

「Googleスプレッドシートの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.