独自関数(オリジナル関数)を作ったときに、セルの指定に””が必要な場合【Googleスプレッドシート】【GAS】
前回の記事で紹介した年号対応表を、オリジナル関数で変換してみようとおもいます。それにあたり、オリジナル関数の基本を書いてみます。
セルの値を使いたい関数の場合
これが一番簡単な形式じゃないでしょうか。
function aaa(x){
return x
}
このように作動します。
aaa("A1") ⇒ A1
aaa(A1) ⇒ 1 (セルの値) となりますね。
セルの範囲にしても同様の結果です。
セルの値以外を使いたい関数の場合
function bbb(x){
const y = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(x).getBackground();
return y
}
セルの色を取得する関数を作ってみました。
取得の結果は、「##4477」みたいな6桁で表示されるスクリプトです。
bbb("A1") ⇒ #c9daf8 成功!
bbb(A1) ⇒ #ERROR! 失敗 となりました。
スクリプト内のgetRange ( x ) ここがポイントのようです。
bbb("A1") ⇒ getRange ( A1 ) ⇒ OK!
bbb(A1) ⇒ getRange ( 1 ) ⇒NG! となるようですね。
getBackground「s」() も作ってみます。
function ccc(x){
const y = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(x).getBackgrounds();
return y
}
getBackground() と getBackgrounds() 違いはこれだけです。
getValue() と getValues() こちらも今後使い分けが必要ですので、この機会にどう動作が違うか見てみてください。
範囲に対してその値を全部取るということができます。この「s」でスクリプトが機能するしないが変わりますので、要注意です。
まとめ
すこし脱線しましたが、
「””なし」で使うときは、値をそのまま使う時だけ
getRangeに組み込むときには「""あり」の運用
まとめてみるとこんな感じでしょうか。
では次回は実際の関数を作ってみましょう。
今回のシートです。
いいなと思ったら応援しよう!
どんな記事ならサポートしてみようと思えるか、ご要望ありましたら教えてくださいね。