Googleスプレッドシートでユーザー関数を定義するときにシートの関数が使えなかったメモ

ヨメレバCSS
オリジナルCSS

ちょっとGoogleスプレッドシートで集計をしていたときに、同じ式をコピペして値を変えていくのも面倒だと思ったからユーザー関数をまとめようと思ったときのメモ。

スプレッドシートにはGoogle Apps Scriptを記述してオリジナルの関数を定義することができます。ExcepでいうところのVBA。

「ツール→スクリプト エディタ」からエディタを開くことができ、例えばここに

function hoge(num) {
  retur num
}

というように定義すると、シートのほうで

SnapCrab_NoName_2015-12-23_15-27-32_No-00

などというように使用できるようになります。

で、目的としてはもともとシートで使っていた式を短縮化したかったのですが、どうもスプレッドシート関数はそのまま使えないよう。

function hoge(num) {
  return ROUNDDOWN(num);
}

などどしても、ROUNDDOWNが見つからないとエラーになります。

どうもその手のサイトをみてみても、わざわざシートに代入するようにしているので、直接使う方法はないんじゃないかと思います。

参考:Google Apps Scriptでプログラミングを学ぶ 第5回 「Googleスプレッドシート関数の操作」

けれどGASはJavaScriptのようなので、JavaScriptの関数が使用できます。

例えばROUNDDOWNはMath.floorで同じ事ができます。

(Math.floorは整数を扱うので、小数点以下の場合は10倍して10で割る、など調整が必要)

もしかしたら何かしら方法はあるのかもしれませんが、ひとまず見当たらなかったので…

ユーザー関数を使おうと思ったら、JavaScriptのほうを調べてみるのが近道かもしれません。

スポンサーリンク
GoogleAdSence レクタングル(大)

シェアする

スポンサーリンク
GoogleAdSence レクタングル(大)