独自関数(オリジナル関数)元号変換【Googleスプレッドシート】【GAS】【関数】
※こちらの記事で利用するスクリプトには簡単ですが「配列」が含まれます。
前回、元号の変換を行う関数を作成しました。
西暦 ⇒ 令和
西暦 ⇒ 平成
平成 ⇒ 西暦
平成 ⇒ 令和
令和 ⇒ 西暦
令和 ⇒ 平成
計6パターンです。
function seirekiworeiwa(a) {
x = a-2000-18
return ("令和"+ x +"年")
}//令和〇年 成功
function seirekiwoheisei(a) {
x = a-2000+12
return ("平成"+ x +"年")
}
function heiseiwoseireki(a) {
x = a+2000-12
return ("西暦"+ x +"年")
}
function heiseiworeiwa(a) {
x = a-30
return ("令和"+ x +"年")
}
function reiwawoseireki(a) {
x = a+2000+18
return ("西暦"+ x +"年")
}
function reiwawoheisei(a) {
x = a+30
return ("平成"+ x +"年")
}
使い分けるのも実用的ではありません。
「元号」「年度」を一つの関数で処理したいです。
西暦 ⇒ 令和・平成 どっちも表示させる
まずはごめんなさい。配列を使いました。
一つのセルに関数を入れて、複数セルに情報を反映させるには配列が必要です。といっても、簡単なものだけですのでご容赦ください。
それがこちらです。
function seireki(a) {
r = a -2000-18
h = a -2000+12
x = [["令和"+r+"年","平成"+h+"年"]]
return x
}
returan の指定を、二つにしました。
[ [ 〇 , 〇 ] ] その形式を、こういう風にしてます。それが配列です。
その結果です。
西暦、平成、令和 で処理を分ける
A列が「西暦」であれば、seireki を使いたい、
「平成」であれば、heisei を使いたい、
「令和」であれば、reiwa を使いたい、です。
条件分岐というやつです。
gengo ( a , b ) {
if ( a が西暦のとき ){seireki(b) }
if else ( a が平成のとき ) { heisei(b) }
それ以外は reiwa(b) }
という風にします。
スクリプトです。
function gengo(a,b){
if (a=="西暦"){ return seireki(b) }
else if(a=="平成"){ return heisei(b) }
return reiwa(b)
}
配列・関数内で別の関数を動かす・else if ちょっと複雑なのを合わせましたが、少しプログラム的になったのではないでしょうか。
シートです。
いいなと思ったら応援しよう!
どんな記事ならサポートしてみようと思えるか、ご要望ありましたら教えてくださいね。