回答編集履歴
3
あほだった
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
.filter(function(element, index, array) { //2ではじまる名前だけにする
|
26
26
|
|
27
|
-
return (element[0]
|
27
|
+
return (element[0] == '2');
|
28
28
|
|
29
29
|
})
|
30
30
|
|
2
不親切なのを直す
test
CHANGED
@@ -8,47 +8,59 @@
|
|
8
8
|
|
9
9
|
```javascript
|
10
10
|
|
11
|
+
// このスプレッドシートをソートしてくれるやつ
|
12
|
+
|
11
13
|
function sortSheets() {
|
12
14
|
|
13
15
|
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
|
14
16
|
|
15
|
-
var sheetNames = spreadsheet.getSheets()
|
17
|
+
var sheetNames = spreadsheet.getSheets() //シート名の配列を得る
|
16
18
|
|
17
|
-
.map(function(element, index, array) {
|
19
|
+
.map(function(element, index, array) { //名前だけにする
|
18
20
|
|
19
21
|
return element.getName();
|
20
22
|
|
21
23
|
})
|
22
24
|
|
23
|
-
.filter(function(element, index, array) {
|
25
|
+
.filter(function(element, index, array) { //2ではじまる名前だけにする
|
24
26
|
|
25
27
|
return (element[0] != '2');
|
26
28
|
|
27
29
|
})
|
28
30
|
|
29
|
-
.sort(compareDateLikeStr);
|
31
|
+
.sort(compareDateLikeStr); // 日付を文字列じゃなくて色々と考えて降順ソート
|
30
32
|
|
33
|
+
|
34
|
+
|
31
|
-
for(var i = 0; i < sheetNames.length; i++) {
|
35
|
+
for(var i = 0; i < sheetNames.length; i++) { // シート名がソート済みなので、一つずつ移動させる
|
32
36
|
|
33
37
|
var cur = spreadsheet.getSheetByName(sheetNames[i]);
|
34
38
|
|
35
39
|
cur.activate();
|
36
40
|
|
37
|
-
spreadsheet.moveActiveSheet(i +
|
41
|
+
spreadsheet.moveActiveSheet(i + 4);
|
38
42
|
|
39
43
|
}
|
40
44
|
|
41
45
|
}
|
42
46
|
|
43
|
-
function sortTest() {
|
44
47
|
|
48
|
+
|
49
|
+
function sortTest() { //テスト用
|
50
|
+
|
45
|
-
var t = ["2018.1.1", "2018.1.11", "2017.1.11"];
|
51
|
+
var t = ["2018.1.1", "2018.1.11", "2017.1.11"]; //実際のシート名を入れてみてソートされるか確認してください
|
46
52
|
|
47
53
|
t.sort(compareDateLikeStr);
|
48
54
|
|
49
|
-
Logger.log(t);
|
55
|
+
Logger.log(t); // 結果として、並んでいるかログで見てください
|
50
56
|
|
51
57
|
}
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
// 日付っぽい文字列をソート(降順)
|
62
|
+
|
63
|
+
// .で3つに区切れるはずなので、それを数値化して、年>月>日で比較する。
|
52
64
|
|
53
65
|
function compareDateLikeStr(a, b) {
|
54
66
|
|
@@ -86,6 +98,6 @@
|
|
86
98
|
|
87
99
|
今からは困難でしょうが、将来の参考として
|
88
100
|
|
89
|
-
0. 2018.07.31, 2018.08.01となっているとソートが非常に楽です。
|
101
|
+
0. 2018.07.31, 2018.08.01となっているとソートが非常に楽です。//compareなんちゃらが不要になる
|
90
102
|
|
91
103
|
0. テンプレートからのコピーが完全手動でなくていいなら、コピー時に思った場所にインサートするのがいいのかなーと妄想しました(そういうコピーがGASでできるかは未調査)
|
1
蛇足
test
CHANGED
@@ -79,3 +79,13 @@
|
|
79
79
|
}
|
80
80
|
|
81
81
|
```
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
--蛇足
|
86
|
+
|
87
|
+
今からは困難でしょうが、将来の参考として
|
88
|
+
|
89
|
+
0. 2018.07.31, 2018.08.01となっているとソートが非常に楽です。
|
90
|
+
|
91
|
+
0. テンプレートからのコピーが完全手動でなくていいなら、コピー時に思った場所にインサートするのがいいのかなーと妄想しました(そういうコピーがGASでできるかは未調査)
|