質問編集履歴

5

写真を削除しました

2021/05/18 01:29

投稿

Kazuya_s
Kazuya_s

スコア3

test CHANGED
File without changes
test CHANGED
@@ -259,7 +259,3 @@
259
259
 
260
260
 
261
261
  したがいまして、F列はAグループから、G列はBグループからIDを検索した方がスピードアップできそうなイメージはあったのですが、どうして良いのかわからなかったので、AグループとBグループのIDをまとめてA列に並べて、A列1列のみのIDシート(classidsh)を現在は利用しています。
262
-
263
-
264
-
265
- ![イ![イメージ説明](fcb75b82858fee60e758cb312428d52b.png)(44af2c0fb2abfb9cae91ee9fe032e348.png)

4

エラーの内容を追記しました

2021/05/18 01:29

投稿

Kazuya_s
Kazuya_s

スコア3

test CHANGED
File without changes
test CHANGED
@@ -200,7 +200,43 @@
200
200
 
201
201
  5/4の夜はデータがすべてのシートに書き出されている様子でしたが、5/5の夜は全部コピーできていない様子でした。
202
202
 
203
-
203
+ スクリプトのエラーが出ていたのでそちらも載せます
204
+
205
+ 起動
206
+
207
+ 21/05/04 23:21
208
+
209
+
210
+
211
+ 関数
212
+
213
+ myFunction
214
+
215
+
216
+
217
+ エラー メッセージ
218
+
219
+ 同時呼び出しの数が多すぎます: スプレッドシート
220
+
221
+
222
+
223
+ トリガー
224
+
225
+ time-based
226
+
227
+
228
+
229
+ End
230
+
231
+ 21/05/04 23:33
232
+
233
+
234
+
235
+ トリガーで動き出してから、すぐにエラーが出ているので、私が書き足した部分が問題になっているのではないかと思います。ただ、5/4の夜はこのスクリプトで問題なく動きましたが、5/5の夜はダメでした
236
+
237
+
238
+
239
+ 確認していただけるとありがたいです
204
240
 
205
241
 
206
242
 

3

2箇所にスクリプトの追加をしました。マスターデータの保管シートにすべてのデータをコピー。1日の終わりにフォームの回答を削除してリフレッシュ。

2021/05/06 00:36

投稿

Kazuya_s
Kazuya_s

スコア3

test CHANGED
File without changes
test CHANGED
@@ -102,6 +102,22 @@
102
102
 
103
103
 
104
104
 
105
+
106
+
107
+ //以下の4行をマスターデータの保管用として挿入しました(5/4)
108
+
109
+ var copymasterdata = sh.getRange(2,1,_lastRow,5).getValues();
110
+
111
+ var copymastersh = ss.getSheetByName('マスターデータ保管');
112
+
113
+ var _lastRowmasterPlus1 = copymastersh.getLastRow()+1;
114
+
115
+
116
+
117
+ copymastersh.getRange(_lastRowmasterPlus1,1,copymasterdata.length,5).setValues(copymasterdata);
118
+
119
+
120
+
105
121
  var classidsh = ss.getSheetByName('キーとなる別シートのID');
106
122
 
107
123
  var classiddata = classidsh.getDataRange().getValues();
@@ -144,10 +160,48 @@
144
160
 
145
161
  }
146
162
 
163
+
164
+
165
+ //以下の7行をコピー終了後に1日で回収したデータを削除して、また翌日分を改めてデータ回収するように削除のスクリプトと、埋め込み関数のスクリプトを挿入しました(5/4)
166
+
167
+ //Logger.log(_lastRow);
168
+
169
+ sh.deleteRows(2,_lastRow-1);
170
+
171
+
172
+
173
+ //二次元配列に埋め込む関数をセット
174
+
175
+ var formformula = [
176
+
177
+ [
178
+
179
+ `=arrayformula(vlookup(B2:B,'名簿'!A:J,10,0))`,
180
+
181
+ `=arrayformula(vlookup(B2:B,'名簿'!A:K,11,0))`
182
+
183
+ ]
184
+
185
+ ];
186
+
187
+
188
+
189
+ //関数を埋め込む
190
+
191
+ sh.getRange(2,6,1,2).setValues(formformula);
192
+
193
+
194
+
147
195
  }
148
196
 
149
197
  ```
150
198
 
199
+ 2021/5/6 09:24 追記
200
+
201
+ 5/4の夜はデータがすべてのシートに書き出されている様子でしたが、5/5の夜は全部コピーできていない様子でした。
202
+
203
+
204
+
151
205
 
152
206
 
153
207
  2021/5/3 08:57追記

2

元データとなる写真を追加し、少し追記を加えました

2021/05/06 00:30

投稿

Kazuya_s
Kazuya_s

スコア3

test CHANGED
File without changes
test CHANGED
@@ -147,3 +147,29 @@
147
147
  }
148
148
 
149
149
  ```
150
+
151
+
152
+
153
+ 2021/5/3 08:57追記
154
+
155
+ 元データと呼んでいるデータは以下のようなスタイルで、A列からE列まではGoogleフォームでの回答結果です。
156
+
157
+
158
+
159
+ F列とG列には、別シートからarrayformula(vlookup)という関数が2行目に入っており、回答がされていくと同時に所属するシートIDが割り当てられるようにしてあります
160
+
161
+
162
+
163
+ F列とG列は重複しないそれぞれのグループからのIDが割り当てられています
164
+
165
+ F列はAグループの57個のIDがあります
166
+
167
+ G列はBグループの53個のIDがあります
168
+
169
+
170
+
171
+ したがいまして、F列はAグループから、G列はBグループからIDを検索した方がスピードアップできそうなイメージはあったのですが、どうして良いのかわからなかったので、AグループとBグループのIDをまとめてA列に並べて、A列1列のみのIDシート(classidsh)を現在は利用しています。
172
+
173
+
174
+
175
+ ![イ![イメージ説明](fcb75b82858fee60e758cb312428d52b.png)(44af2c0fb2abfb9cae91ee9fe032e348.png)

1

pushの記述がなかったので追加しました

2021/05/02 23:59

投稿

Kazuya_s
Kazuya_s

スコア3

test CHANGED
File without changes
test CHANGED
@@ -124,7 +124,9 @@
124
124
 
125
125
  if(data[j][5] == classid){
126
126
 
127
-
127
+     copydata.push(data[j])
128
+
129
+
128
130
 
129
131
  Logger.log(data[j]);
130
132