回答編集履歴
2
修正
answer
CHANGED
@@ -300,7 +300,7 @@
|
|
300
300
|
|
301
301
|
一般化すると、
|
302
302
|
```js
|
303
|
-
|
303
|
+
schedules.slice(対象月の始まり曜日-1 ,対象月の始まり曜日-1 + 日数)
|
304
304
|
```
|
305
305
|
とすればちょうど1か月分のスケジュールデータの配列が切り取れます。
|
306
306
|
|
1
修正
answer
CHANGED
@@ -270,13 +270,14 @@
|
|
270
270
|
|
271
271
|
・配列から一部を切り取るには、[slice()関数](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/slice)を使います。
|
272
272
|
```
|
273
|
-
slice(開始インデックス,
|
273
|
+
slice(開始インデックス, 開始インデックス+個数)
|
274
274
|
```
|
275
|
+
で、配列の [開始インデックス] から 指定した個数までの要素までを切り取ることができます。
|
275
276
|
```
|
276
277
|
slice関数の使用例:
|
277
278
|
const arr = ['a', 'b' ,'c', 'd', 'e', 'f'];
|
278
279
|
|
279
|
-
// arr から、0始まりのインデックス2('c')から 4('e') を 切り取る
|
280
|
+
// arr から、0始まりのインデックス2('c')から 4('e') までの3個を 切り取る
|
280
281
|
|
281
282
|
const f = arr.slice(2, 5); // 終了インデックスは、開始インデックス+切取り個数を指定する。
|
282
283
|
|
@@ -294,6 +295,7 @@
|
|
294
295
|
|
295
296
|
たとえば木曜始まりの場合、「4」番目の項目から始まります。
|
296
297
|
slice()関数はゼロ始まりで開始インデックスを指定するので、4-1=3 を開始インデックスとします。
|
298
|
+
(0,1,2,3 -> 4番目は「3」)
|
297
299
|
また 4月の日数は「30」なので、終了インデックスは 3+30=33 となります。
|
298
300
|
|
299
301
|
一般化すると、
|
@@ -320,12 +322,12 @@
|
|
320
322
|
あとは、上記で取得したmonthlySchedulesを、☆に書き込めばいいです。
|
321
323
|
|
322
324
|
・書き込み開始セル:L3番地(=3行目,12列目)
|
323
|
-
・行数:先ほど取得した日数(
|
325
|
+
・行数:先ほど取得した日数(daysOfMonth)
|
324
326
|
・列数:4列(L列~O列まで)
|
325
327
|
|
326
328
|
なので、
|
327
|
-
|
328
|
-
☆シートに書き込むためのコードは下記のようになります。
|
329
|
+
monthlySchedules を「☆シート」に書き込むためのコードは下記のようになります。
|
330
|
+
(これは前の質問の復習にもなっていますね)
|
329
331
|
```js
|
330
332
|
mysheet1 = ss.getSheetByName("転記元");
|
331
333
|
|