前提・実現したいこと
※初心者なのでコード汚いとか意味が分からないこと言っていたらすみません。
現在google apps scriptを使用して上記スケジュール管理表を作っています。
『【個人用】タスク管理シート』にある赤枠で囲った3シートの情報を、
『【管理用】タスク管理シート』に反映させる且つ、
管理側赤枠で囲っている情報更新ボタンを押すと今なら「セルA5」に記載されてる「1月」を参照して、
個人側「セルD6:D7」の情報を引っ張ってきて管理側「セルD6:D7」に反映させたくて、
1人分なら【"importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),"事業部別!$D$6")")】でいけたのですが、
これを複数個所同時に更新させようとするとなかなか上手くできません。
以下のソースコードは1月のみ「for文」を使ってループさせる様にしていますが、
本来なら全ての月に対応させたいです。
また、いまのままだと「D4(黄枠のA)」の人の情報をループで取り続けてきてしまうので、
そこが改善(例:F4、H4、J4と2ずつ離れた値を参照)したい点となります。
該当のソースコード
1function Division(){ 2 var updateDivision = SpreadsheetApp.getActive().getSheetByName('事業部別');//事業部別のシート参照させる 3 var place = updateDivision.getRange(5, 1).getValue();//月を参照する場所 4 var max = updateDivision.getLastColumn();//名前列の最終列の列番号 5 6 if(place=="1月"){ 7 for(var i=4;i<max;i+=2){ 8 updateDivision.getRange(6, i).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$D$6\")"); 9 updateDivision.getRange(7, i).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$D$7\")"); 10 } 11 }else if(place=="2月"){ 12 updateDivision.getRange(6, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$E$6\")"); 13 updateDivision.getRange(7, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$E$7\")"); 14 }else if(place=="3月"){ 15 updateDivision.getRange(6, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$F$6\")"); 16 updateDivision.getRange(7, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$F$7\")"); 17 }else if(place=="4月"){ 18 updateDivision.getRange(6, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$G$6\")"); 19 updateDivision.getRange(7, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$G$7\")"); 20 }else if(place=="5月"){ 21 updateDivision.getRange(6, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$H$6\")"); 22 updateDivision.getRange(7, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$H$7\")"); 23 }else if(place=="6月"){ 24 updateDivision.getRange(6, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$I$6\")"); 25 updateDivision.getRange(7, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$I$7\")"); 26 }else if(place=="7月"){ 27 updateDivision.getRange(6, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$J$6\")"); 28 updateDivision.getRange(7, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$J$7\")"); 29 }else if(place=="8月"){ 30 updateDivision.getRange(6, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$K$6\")"); 31 updateDivision.getRange(7, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$K$7\")"); 32 }else if(place=="9月"){ 33 updateDivision.getRange(6, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$L$6\")"); 34 updateDivision.getRange(7, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$L$7\")"); 35 }else if(place=="10月"){ 36 updateDivision.getRange(6, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$M$6\")"); 37 updateDivision.getRange(7, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$M$7\")"); 38 }else if(place=="11月"){ 39 updateDivision.getRange(6, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$N$6\")"); 40 updateDivision.getRange(7, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$N$7\")"); 41 }else if(place=="12月"){ 42 updateDivision.getRange(6, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$O$6\")"); 43 updateDivision.getRange(7, 4).setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),\"事業部別!$O$7\")"); 44 } 45}
試したこと
【setFormula("importrange(index('リンク設定'!$C:$C,match(D$4,'リンク設定'!$B:$B,0)),"事業部別!$D$6")");】
このコードの「D$4」のDを数字や変数に置き換えようとしましたが、エラーとなってしまいました。
回答1件
あなたの回答
tips
プレビュー