回答編集履歴
3
参考例を追記しました。
test
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
質問者様に修正後のスクリプトの全体を示していただければと思いますが。
|
3
3
|
|
4
4
|
例えば、このように全体をお示ししてみるとどうでしょうか。
|
5
|
+
※ 回答を修正して、もう一つの参考例を追記しました。
|
6
|
+
|
5
7
|
```JavaScript
|
6
8
|
function myFunction() {
|
7
9
|
const ss = SpreadsheetApp..getActiveSpreadsheet();
|
@@ -23,3 +25,22 @@
|
|
23
25
|
}
|
24
26
|
```
|
25
27
|
|
28
|
+
なお、今回は、
|
29
|
+
一次元配列と二次元配列の変換がご質問の主旨でしたので上のような例としてますが、
|
30
|
+
一次元配列は二次元配列への変換用に一時的に生成されているだけなので、
|
31
|
+
最初から列を結合した二次元配列を生成することもできますので参考まで。
|
32
|
+
|
33
|
+
```JavaScript
|
34
|
+
function myFunction() {
|
35
|
+
const ss = SpreadsheetApp.getActiveSpreadsheet();
|
36
|
+
const sheet = ss.getSheetByName('メインシート');
|
37
|
+
//C,D列を結合した二次元配列を生成
|
38
|
+
const nijigenText = sheet.getRange(2, 3, sheet.getLastRow() - 1, 2)
|
39
|
+
.getValues().map(v => [v.join('★')]);
|
40
|
+
//B列に値を記入
|
41
|
+
if (nijigenText.length > 0) {
|
42
|
+
sheet.getRange(2, 2, nijigenText.length, 1).setValues(nijigenText);
|
43
|
+
}
|
44
|
+
}
|
45
|
+
```
|
46
|
+
|
2
変数名を修正しました。
test
CHANGED
@@ -11,10 +11,10 @@
|
|
11
11
|
//データの見出し行(1行目)を削除
|
12
12
|
values.shift();
|
13
13
|
//C,D列の値を★で結合した一次元配列に変換
|
14
|
-
const ichjigenText = values.map(v => v.join('★'));
|
14
|
+
const ichijigenText = values.map(v => v.join('★'));
|
15
|
-
console.log(ichjigenText);
|
15
|
+
console.log(ichijigenText);
|
16
16
|
//二次元配列に変換
|
17
|
-
const nijigenText = ichjigenText.map(v => [v]);
|
17
|
+
const nijigenText = ichijigenText.map(v => [v]);
|
18
18
|
console.log(nijigenText);
|
19
19
|
//B列(2行目以降)に値を記入
|
20
20
|
if (nijigenText.length > 0) {
|
1
質問者様の環境に併せて変更してみました。
test
CHANGED
@@ -4,20 +4,21 @@
|
|
4
4
|
例えば、このように全体をお示ししてみるとどうでしょうか。
|
5
5
|
```JavaScript
|
6
6
|
function myFunction() {
|
7
|
-
const ss = SpreadsheetApp.openById(SS_ID);
|
8
|
-
|
7
|
+
const ss = SpreadsheetApp..getActiveSpreadsheet();
|
9
|
-
const sheet = ss.getSheetByName('シート
|
8
|
+
const sheet = ss.getSheetByName('メインシート');
|
10
9
|
//C,D列の値を取得
|
11
10
|
const values = sheet.getRange(1, 3, sheet.getLastRow(), 2).getValues();
|
11
|
+
//データの見出し行(1行目)を削除
|
12
|
+
values.shift();
|
12
|
-
//C,D列の値を結合した一次元配列に変換
|
13
|
+
//C,D列の値を★で結合した一次元配列に変換
|
13
|
-
const ichjigenText = values.map(v => v.join(''));
|
14
|
+
const ichjigenText = values.map(v => v.join('★'));
|
14
15
|
console.log(ichjigenText);
|
15
16
|
//二次元配列に変換
|
16
17
|
const nijigenText = ichjigenText.map(v => [v]);
|
17
18
|
console.log(nijigenText);
|
18
|
-
//B列に値を記入
|
19
|
+
//B列(2行目以降)に値を記入
|
19
20
|
if (nijigenText.length > 0) {
|
20
|
-
sheet.getRange(
|
21
|
+
sheet.getRange(2, 2, nijigenText.length, 1).setValues(nijigenText);
|
21
22
|
}
|
22
23
|
}
|
23
24
|
```
|