teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

質問内容修正

2020/10/26 04:07

投稿

NakaShun_1129
NakaShun_1129

スコア20

title CHANGED
File without changes
body CHANGED
@@ -1,119 +1,38 @@
1
1
  こんにちは
2
2
  GASについて質問させてください。
3
3
 
4
- 実現したいこと
4
+ <実現したいこと>
5
- 以下のスプレッドシートの経歴をJSONで取得したい
5
+ 以下のスプレッドシートの経歴をプロジェクト毎にJSONで取得したい
6
6
 
7
+ --データ取得イメージ--
7
8
 
9
+ 1. B14を起点に3行のデータを取得
10
+
11
+ 2. 次の行を起点に3行のデータを取得
12
+
13
+ 3. これをgetLastColumnで取得した最終行までfor文で繰り返す。
14
+
15
+ 4. 取得したデータからオブジェクトを作成する
8
16
  ![イメージ説明](a1972d8794bbbfdc56ce8e883a66b7f2.png)
9
17
 
10
- これを範囲指定してgetValueすると、空白のセルまで取得されてしまうので値のあるセルのみ取得したいのですが、
11
- それは可能なのでしょうか?
18
+ <知りたいこと>
12
- 面倒ですが、細かく範囲を設定しないといけないのでしょうか。
13
19
 
14
- 不要な箇所というは""になる部分です
20
+ ○for文使い方
15
21
 
22
+ 最初のデータは**firstRow**を起点にデータを取得し、
23
+ 2回目以降は**afterSecondRow**を起点にデータを取得したいのですが、
16
- ↓実行結果です
24
+ その書き方がわかりません。
17
25
 
18
- > [20-10-23 02:19:37:934 PDT] [ [ Mon Jun 01 2020 00:00:00 GMT+0900 (日本標準時),
19
- > '',
26
+ ・素材
20
- > Wed Oct 07 2020 00:00:00 GMT+0900 (日本標準時),
21
- > '〇〇サービス開発',
22
- > 'PM',
23
- > 'Typescript\nJavascript\n',
24
- > 'PostgreSQL',
25
- > 'CentOS6',
26
- > 'git\nslack\nbitbucket\nJIRA\nvue.js\nwebpack\ndocker',
27
- > '○',
28
- > '○',
29
- > '○',
30
- > '○',
31
- > '○',
32
- > '○',
33
- > '○' ],
34
- > [ '',
35
- > '',
36
- > '',
37
- > '【概要】〇〇',
38
- > 'チーム\n10名\n\n開発\n10名\n\n全体\n10名',
39
- > '',
40
- > '',
41
- > '',
42
- > '',
43
- > '',
44
- > '',
45
- > '',
46
- > '',
47
- > '',
48
- > '',
49
- > '' ],
50
- > [ '4ヶ月', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ],
51
- > [ Mon Jun 01 2020 00:00:00 GMT+0900 (日本標準時),
52
- > '',
53
- > Wed Oct 07 2020 00:00:00 GMT+0900 (日本標準時),
54
- > '〇〇サービス開発',
55
- > 'PM',
56
- > 'Typescript\nJavascript\n',
57
- > 'PostgreSQL',
58
- > 'CentOS6',
59
- > 'git\nslack\nbitbucket\nJIRA\nvue.js\nwebpack\ndocker',
60
- > '○',
61
- > '○',
62
- > '○',
63
- > '○',
64
- > '○',
65
- > '○',
66
- > '○' ],
67
- > [ '',
68
- > '',
69
- > '',
70
- > '【概要】〇〇',
71
- > 'チーム\n10名\n\n開発\n10名\n\n全体\n10名',
72
- > '',
73
- > '',
74
- > '',
75
- > '',
76
- > '',
77
- > '',
78
- > '',
79
- > '',
80
- > '',
81
- > '',
82
- > '' ],
83
- > [ '4ヶ月', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ],
84
- > [ Mon Jun 01 2020 00:00:00 GMT+0900 (日本標準時),
85
- > '',
86
- > Wed Oct 07 2020 00:00:00 GMT+0900 (日本標準時),
87
- > '〇〇サービス開発',
88
- > 'PM',
89
- > 'Typescript\nJavascript\n',
90
- > 'PostgreSQL',
91
- > 'CentOS6',
92
- > 'git\nslack\nbitbucket\nJIRA\nvue.js\nwebpack\ndocker',
93
- > '○',
94
- > '○',
95
- > '○',
96
- > '○',
97
- > '○',
98
- > '○',
99
- > '○' ],
100
- > [ '',
101
- > '',
102
- > '',
103
- > '【概要】〇〇',
104
- > 'チーム\n10名\n\n開発\n10名\n\n全体\n10名',
105
- > '',
106
- > '',
107
- > '',
108
- > '',
109
- > '',
110
- > '',
111
- > '',
112
- > '',
113
- > '',
114
- > '',
115
- > '' ],
116
- > [ '4ヶ月', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ] ]
117
27
 
28
+ ```
29
+ const firstRow=15;
30
+ //開始行
118
31
 
32
+ const afterSecondRow = firstRow + 3;
33
+ //2つ目以降のデータ取得の起点になる行
34
+
35
+ ```
36
+
37
+
119
- 以上、何かアドバイスがありましたらお願いします。
38
+ 何かアドバイスがありましたらお願いします。

1

修正

2020/10/26 04:07

投稿

NakaShun_1129
NakaShun_1129

スコア20

title CHANGED
File without changes
body CHANGED
@@ -116,40 +116,4 @@
116
116
  > [ '4ヶ月', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ] ]
117
117
 
118
118
 
119
-
120
-
121
-
122
-
123
- もう一点、聞きたいことがありまして、
124
- getLastRowで取得した最終行の数字をgetRangeの範囲に使うことは可能なのでしょうか。
125
- ```
126
- //今のコード
127
-
128
- function myFunction() {
129
- const sheet = SpreadsheetApp.getActiveSheet();
130
- //今開いているシートを取得
131
-
132
- const range = sheet.getRange('B14:Q22');
133
- console.log(range.getValues());
134
-
135
- }
136
- ```
137
-
138
-
139
-
140
- ```
141
- //本当はこんな感じにしたい
142
- function myFunction() {
143
- const sheet = SpreadsheetApp.getActiveSheet();
144
- //今開いているシートを取得
145
- const lastRow = sheet.getLastRow();
146
- //シートの最終行取得(プロジェクトの数は可変する為)
147
-
148
- const range = sheet.getRange('B14:Q2(ここの2を取得したlastLowにしたい’);
149
- console.log(range.getValues());
150
-
151
- ```
152
-
153
-
154
-
155
119
  以上、何かアドバイスがありましたらお願いします。