###前提・実現したいこと
今月プログラミングを始めた者です。
Google Apps ScriptとGoogleスプレッドシートを使って、給与明細を作りたいと考えています。
給与明細を作る上で必要となる、社会保険料率表や源泉徴収税額表は定期的に更新となるため、更新月にアラートとして自動でメッセージを出せるようにしたいと思っています。
社会保険料率の更新月:毎年3月・9月
社会保険料率と雇用保険料率の更新月:毎年4月
源泉徴収税額の更新月:毎年1月
住民税の更新月:毎年6月・7月
これらをif文を使って条件分岐しようと考えています。
社会保険料率の「毎年3月・9月」のように年に数回更新されるものについては、if文のOR(||)を使っているのですが、どうやらここがネックになっているようです。(もしかすると他の部分が原因かもしれません)
最終的に、今月の月とif文による条件分岐がTRUEとなった時、6,13セルにメッセージを書き込むシステムです。
###発生している問題・エラーメッセージ
エラーメッセージは発生していません。 ただ、現在12月のはずなのですが、どうやら最初のif文(3月・9月)でTrueになっているようです。
###該当のソースコード
1function myFunction() { 2 3 4 var myActiveSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); 5 var myActiveSheet = myActiveSpreadSheet.getSheets()[0]; 6 7 //今月の月を取得 8 var date = new Date(); 9 month = date.getMonth() +1; 10 11 //3月、9月に社会保険料率が変更となる。 12 if (month == 3||9) { 13 myActiveSheet.getRange(6,13).setValue("・社会保険料率を最新版に更新してください。"); 14 } 15 16 //4月に社会保険料率と雇用保険料率が変更となる。(今月が12月なので便宜上ここに12を含めています) 17 else if (month == 4||12) { 18 myActiveSheet.getRange(6,13).setValue("・社会保険料率と雇用保険料率を最新版に更新してください。"); 19 } 20 21 //1月に源泉徴収税額表が変わる 22 else if (month == 1){ 23 myActiveSheet.getRange(6,13).setValue("・源泉徴収税額表を最新版に更新してください。"); 24 } 25 26 //6月と7月は住民税が変わる 27 else if (month == 6||7){ 28 myActiveSheet.getRange(6,13).setValue("・住民税を最新版に更新してください。"); 29 } 30 31 32}
###試したこと
if === 3||9
や
if == 2
などを試しました。
if == 2
だと上手くいったように思います。
###補足情報(言語/FW/ツール等のバージョンなど)
初めての投稿なので緊張しています。
質問方法などに問題がございましたら、ついでにご指摘いただけると助かります。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/06 10:07
2017/12/06 10:19