FFFT

主にwebプロダクト開発に関連する話をつらつらと

Googla Apps Scriptでスプレッドシートの対象セルの関数・計算式を取得する

GAS(Google Apps Script)でスプレッドシートの対象セルの関数・計算式の取得方法をまとめます。
結論ですが、Rangeクラスに生えているgetFormula()を使ってあげればOK。単純に値だけ取りたいときはgetValue()。
Rangeで取得したセル範囲の左上のセルを対象に、計算式があれば計算式を、なければ空文字を返却してくれます。

// スプレッドシートの「ツール => スクリプトエディタ」から利用するGAS(Container Bound Script)のプログラム例
// 対象シートの対象セルを選択しておく
const activeRange = SpreadsheetApp.getActiveRange();
Logger.log(range.getValue(), range.getFormula());

Rangeで複数セルを範囲にしている場合、すべてのセルの計算式が欲しいシーンもある。
その際はgetFormulas()を使えばOK。

共に公式ページに十分な説明が載ってるけど、日本語でパッと検索して欲しい情報にすぐにたどり着けなかったので記事に残しました。
「GAS スプレッドシート 計算式 取得」とか「GAS スプレッドシート 関数 取得」とかで検索する人が、「getFormula()使えば良いのね」というのにパッとたどり着ければ幸いです。

さらに詳しくは、公式ページもご覧ください。

・getFormula()
Class Range  |  Apps Script  |  Google Developers

・getFormulas()
Class Range  |  Apps Script  |  Google Developers