回答編集履歴
1
実例
test
CHANGED
@@ -30,3 +30,30 @@
|
|
30
30
|
質問者様の提示されているコードが一部のみのため、具体的なコード修正をご提案できない状況ですが、
|
31
31
|
とにかく`[...new Set(配列)]`をすればいいです。
|
32
32
|
ご提示いただいている`for() {}`の部分は全部不要だと思います。
|
33
|
+
|
34
|
+
### 実例
|
35
|
+
スプレッドシートから取得してきた値のうち、重複を削除するコード例です。
|
36
|
+
|
37
|
+

|
38
|
+
```javascript
|
39
|
+
function getUniqueValues() {
|
40
|
+
const sheet = SpreadsheetApp.getActiveSheet();
|
41
|
+
const startRow = 2;
|
42
|
+
const lastRow = sheet.getLastRow();
|
43
|
+
|
44
|
+
// セルの範囲を取得
|
45
|
+
const range = sheet.getRange(2, 1, lastRow - startRow + 1, 1); // 例)A2〜A5
|
46
|
+
|
47
|
+
// 範囲内の値を一括で取得
|
48
|
+
const values = range.getValues().flat();
|
49
|
+
// ↑↑↑の解説
|
50
|
+
// スプレッドシートから一括で値を取得すると、通常は2次元配列
|
51
|
+
// 例)range.getValues() ---> [ [ 'かき' ], [ 'いちご' ], [ 'かき' ], [ 'りんご' ] ]
|
52
|
+
// そのため、.flat()で2次元配列を、1次元配列化する
|
53
|
+
// 例)range.getValues().flat() ---> [ 'かき', 'いちご', 'かき', 'りんご' ]
|
54
|
+
|
55
|
+
// 重複した値を削除
|
56
|
+
const uniqueValues = [...new Set(values)];
|
57
|
+
Logger.log(uniqueValues); // [かき, いちご, りんご]
|
58
|
+
}
|
59
|
+
```
|