質問編集履歴

10

読みやすくなるように修正

2017/06/09 07:01

投稿

kusunoki
kusunoki

スコア17

test CHANGED
File without changes
test CHANGED
@@ -310,11 +310,11 @@
310
310
 
311
311
 
312
312
 
313
- 日付型データでの処理がうまくいかないため、現在はまだ、先程の都道府県のデータで試しているのですが、メールが実現出来ません。データが追加されるたびに送信されてしまったり、日付順ではなくなってしまうのです。
313
+ 日付型データでの処理がうまくいかないため、現在はまだ、先程の都道府県のデータで試しているのですが、実現出来ていません。データが追加されるたびに送信されてしまったり、送信順が日付順ではなくなってしまうのです。また、後からループなどで扱おうとした際にres["東京"]など、数字で指定できないのです。
314
314
 
315
315
  そこでメールの自動送信を諦めて、まず日付ごとに振り分けたデータをその日付毎にシートや別ファイルとして書き出すことにとどめようかと考えています。
316
316
 
317
- しかしシートを日数分の数十個も作成するわけにも行かず悩んでいます。
317
+ しかしシートを日数データ分の数十~数百個も作成するわけにも行かず悩んでいます。
318
318
 
319
319
 
320
320
 

9

進行状況の更新と追記

2017/06/09 07:01

投稿

kusunoki
kusunoki

スコア17

test CHANGED
File without changes
test CHANGED
@@ -34,7 +34,9 @@
34
34
 
35
35
 
36
36
 
37
- この日付部分は後にシートの名前やメールタイトルに。配列の値も使用す。
37
+ さらに、この日付部分は後にシートの名前やメールタイトルにしたいです。
38
+
39
+ 配列の値は改行を加えた本文や、セルの値として使用していきたいです。
38
40
 
39
41
 
40
42
 
@@ -176,29 +178,19 @@
176
178
 
177
179
 
178
180
 
179
- ###追記
180
-
181
- 5/23
182
-
183
- 配列の中に配列を入れることを考えました。しかしそれでも個数を割り出してから変数を用意しなければなりません。
184
-
185
- 他に考え方はあるのでしょうか?
186
-
187
- 参考 https://www.ajaxtower.jp/js/array/index5.html
188
-
189
-
190
-
191
181
  ###補足
192
182
 
193
- 実際使用するtest2やtest3は
183
+ 実際使用するtest2やtest3のデータ
194
-
184
+
195
- シートからgetRange().getValues()でもってきたものになります。
185
+ シートからgetRange().getValues()でもってきたもので、になります。
196
-
197
-
198
-
186
+
187
+
188
+
199
- ###進行状況
189
+ ###進行状況 教えていただいたどちらも試しています
190
+
191
+
192
+
200
-
193
+ A,配列を使用する方法
201
-
202
194
 
203
195
  coco_bauerさんにいただいたアドバイスから
204
196
 
@@ -206,60 +198,132 @@
206
198
 
207
199
  ```
208
200
 
209
- var test2 = Sheet03.getRange(1,1,maxRow).getValues();
201
+ var test2 = Sheet03.getRange(2,1,maxRow).getValues();
210
-
202
+
211
- var c2 = test2.length;
203
+ var c2 = test2.length;
212
-
213
-
214
-
204
+
205
+
206
+
215
- var test3 = Sheet03.getRange(1,2,maxRow).getValues();
207
+ var test3 = Sheet03.getRange(2,2,maxRow).getValues();
216
-
208
+
217
- var c3 = test3.length;
209
+ var c3 = test3.length;
218
-
219
-
220
-
210
+
211
+
212
+
221
- var ary = [];
213
+ var ary = [];
214
+
215
+
222
216
 
223
217
 
224
218
 
219
+ for(var i=0;i<c3;i++){
220
+
221
+ var date = test3[i];
222
+
223
+ var ary[i] = [];
224
+
225
225
 
226
226
 
227
- for(var i=0;i<c2;i++){
228
-
229
- var date = test3[i];
230
-
231
- for(var j=0;j<c3;j++){
227
+ for(var j=0;j<c2;j++){
232
-
233
-
234
-
228
+
235
- var k = test2[j].match(date);
229
+ var res = test2[j].match(date);
236
-
237
-
238
-
230
+
231
+
232
+
239
- if(k != null){
233
+ if(res != null){
240
-
234
+
241
- ary[i].push(g)
235
+ ary[i].push(date)
242
-
236
+
243
- }
237
+ }
244
-
245
-
246
-
238
+
239
+
240
+
247
- }
241
+ }
248
-
242
+
249
- }
243
+ }
250
244
 
251
245
  ```
252
246
 
253
247
  としてみました。
254
248
 
249
+ しかし、
250
+
255
- しかしログをみるtest3が [Thu May 11 00:00:00 GMT+09:00 2017]このような形になっているせいか、matchを使えいのです。
251
+ matchのころで、「オブジェクト[2017/05/11 21:53:43]A1で関数matchが見つかりません。」とり、
252
+
256
-
253
+ var ary[i] = [];の箇所で配列の中に配列を作ろうとすると「ステートメントの前に;がありません。」
254
+
257
- 使えたすれば上記の流れであっているでしょうか
255
+ ってしまます
256
+
258
-
257
+ (多次元配列 参考:http://hakuhin.jp/js/array.html#ARRAY_04 https://www.ajaxtower.jp/js/array/index5.html)
259
-
260
-
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+
266
+
261
- kei344さんに教えていただいたものも理解したいため、調べ中です。for in来るあたりで躓ています。
267
+ B,kei344さんに教えていただいたものも理解したいため、調べら試しています。
268
+
262
-
269
+ ```
270
+
263
-
271
+ var test2 = [ '東京', '神奈川', '千葉' ];
272
+
264
-
273
+ var test3 = [ '東京都千代田区', '東京都世田谷区', '神奈川県川崎市', '千葉県柏市' ];
274
+
275
+ ```
276
+
277
+ データが上記のような場合
278
+
279
+ Logger.log(res)
280
+
281
+ `{神奈川=[神奈川県川崎市], 東京=[東京都千代田区, 東京都世田谷区], 千葉=[千葉県柏市]}`
282
+
283
+ Logger.log(res["東京"])
284
+
285
+ `[東京都千代田区, 東京都世田谷区]`
286
+
287
+ と出来たのですが、実際使用する日付型のデータだと出来ないでいます。
288
+
289
+ 実際日付を扱うため、並びも日付順(もとのまま)であって欲しいです。
290
+
291
+
292
+
293
+ ###この後以下の処理をしたい
294
+
295
+ 続けて、内容をテキストファイルとして書き出したり、シートを生成したり、メールとして自動送信する際にここで作った値を使用したいのです。
296
+
297
+
298
+
299
+ メール、最初の例のデータの場合
300
+
301
+ <タイトル>
302
+
303
+ 2016/05/14
304
+
305
+ <本文(1つずつ改行する)>
306
+
307
+ 2016/05/14 エラー
308
+
309
+ 2016/05/14 A
310
+
311
+
312
+
313
+ 日付型データでの処理がうまくいかないため、現在はまだ、先程の都道府県のデータで試しているのですが、メールが実現出来ません。データが追加されるたびに送信されてしまったり、日付順ではなくなってしまうのです。
314
+
315
+ そこでメールの自動送信を諦めて、まず日付ごとに振り分けたデータをその日付毎にシートや別ファイルとして書き出すことにとどめようかと考えています。
316
+
317
+ しかしシートを日数分の数十個も作成するわけにも行かず悩んでいます。
318
+
319
+
320
+
321
+ 今回の質問はこのために考えた工程だったのですが、遠回りしていますでしょうか。
322
+
323
+
324
+
325
+
326
+
327
+ ###メッセージ
328
+
265
- 解決やお礼までまだまだ時間がかかりそうです。スコア等皆様ご迷惑おかけします。
329
+ 解決までまだまだ時間がかかりそうです。スコア等皆様ご迷惑おかけします。

8

進行状況の追記

2017/06/09 06:57

投稿

kusunoki
kusunoki

スコア17

test CHANGED
File without changes
test CHANGED
@@ -194,8 +194,72 @@
194
194
 
195
195
  シートからgetRange().getValues()でもってきたものになります。
196
196
 
197
+
198
+
197
- ###進行状況
199
+ ###進行状況
200
+
201
+
202
+
198
-
203
+ coco_bauerさんにいただいたアドバイスから
204
+
205
+
206
+
207
+ ```
208
+
209
+ var test2 = Sheet03.getRange(1,1,maxRow).getValues();
210
+
211
+ var c2 = test2.length;
212
+
213
+
214
+
215
+ var test3 = Sheet03.getRange(1,2,maxRow).getValues();
216
+
217
+ var c3 = test3.length;
218
+
219
+
220
+
221
+ var ary = [];
222
+
223
+
224
+
225
+
226
+
227
+ for(var i=0;i<c2;i++){
228
+
229
+ var date = test3[i];
230
+
231
+ for(var j=0;j<c3;j++){
232
+
233
+
234
+
235
+ var k = test2[j].match(date);
236
+
237
+
238
+
239
+ if(k != null){
240
+
241
+ ary[i].push(g)
242
+
243
+ }
244
+
245
+
246
+
247
+ }
248
+
249
+ }
250
+
251
+ ```
252
+
253
+ としてみました。
254
+
255
+ しかしログをみるとtest3が [Thu May 11 00:00:00 GMT+09:00 2017]このような形になっているせいか、matchを使えないのです。
256
+
257
+ 使えたとすれば上記の流れであっているでしょうか。
258
+
259
+
260
+
199
- 教えていただいたもの調べ中です。for inが出て来るあたりで躓いています。
261
+ kei344さんに教えていただいたものも理解したいため、調べ中です。for inが出て来るあたりで躓いています。
200
-
262
+
263
+
264
+
201
- 解決やお礼までまだまだ時間がかかりそうです。スコア等ご迷惑おかけします。
265
+ 解決やお礼までまだまだ時間がかかりそうです。スコア等皆様ご迷惑おかけします。

7

補足

2017/05/26 10:20

投稿

kusunoki
kusunoki

スコア17

test CHANGED
File without changes
test CHANGED
@@ -188,6 +188,12 @@
188
188
 
189
189
 
190
190
 
191
+ ###補足
192
+
193
+ 実際使用するtest2やtest3は
194
+
195
+ シートからgetRange().getValues()でもってきたものになります。
196
+
191
197
  ###進行状況
192
198
 
193
199
  教えていただいたものを調べ中です。for inが出て来るあたりで躓いています。

6

進展状況の追記

2017/05/25 18:56

投稿

kusunoki
kusunoki

スコア17

test CHANGED
File without changes
test CHANGED
@@ -176,10 +176,20 @@
176
176
 
177
177
 
178
178
 
179
+ ###追記
180
+
179
- ###追記5/23
181
+ 5/23
180
182
 
181
183
  配列の中に配列を入れることを考えました。しかしそれでも個数を割り出してから変数を用意しなければなりません。
182
184
 
183
185
  他に考え方はあるのでしょうか?
184
186
 
185
187
  参考 https://www.ajaxtower.jp/js/array/index5.html
188
+
189
+
190
+
191
+ ###進行状況
192
+
193
+ 教えていただいたものを調べ中です。for inが出て来るあたりで躓いています。
194
+
195
+ 解決やお礼までまだまだ時間がかかりそうです。スコア等ご迷惑おかけします。

5

2017/05/25 18:52

投稿

kusunoki
kusunoki

スコア17

test CHANGED
File without changes
test CHANGED
@@ -181,3 +181,5 @@
181
181
  配列の中に配列を入れることを考えました。しかしそれでも個数を割り出してから変数を用意しなければなりません。
182
182
 
183
183
  他に考え方はあるのでしょうか?
184
+
185
+ 参考 https://www.ajaxtower.jp/js/array/index5.html

4

2017/05/24 04:07

投稿

kusunoki
kusunoki

スコア17

test CHANGED
File without changes
test CHANGED
@@ -48,11 +48,11 @@
48
48
 
49
49
  ```
50
50
 
51
- var count2 = test2.length;
51
+ var count2 = test2.length;
52
52
 
53
- for(var i=0;i<=count2;i++){
53
+ for(var i=1;i<=count2;i++){
54
54
 
55
- eval('var ary_' + i + '=[];');
55
+ eval('var ary_' + i -1+ '=[];');
56
56
 
57
57
  }
58
58
 

3

2017/05/24 03:54

投稿

kusunoki
kusunoki

スコア17

test CHANGED
File without changes
test CHANGED
@@ -162,11 +162,15 @@
162
162
 
163
163
 
164
164
 
165
- 1-3
165
+ 1-3,
166
166
 
167
- 同上
167
+ 出来ませんでした。
168
168
 
169
169
 
170
+
171
+ ###参考
172
+
173
+ http://qiita.com/htano/items/2476c7f616bed531e2f3
170
174
 
171
175
 
172
176
 

2

2017/05/24 03:49

投稿

kusunoki
kusunoki

スコア17

test CHANGED
@@ -1 +1 @@
1
- スプレッドシート:①重複の削除 ②動的に変数を生成したい
1
+ スプレッドシート:①判定指定した数の変数を動的に生成したい
test CHANGED
@@ -31,6 +31,10 @@
31
31
  `2016/05/15`を含むなら、ary_3へ `2016/05/15 B`
32
32
 
33
33
  をpushしたい。
34
+
35
+
36
+
37
+ この日付部分は後にシートの名前やメールタイトルに。配列の値も使用します。
34
38
 
35
39
 
36
40
 
@@ -161,3 +165,15 @@
161
165
  1-3,
162
166
 
163
167
  同上
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+ ###追記5/23
176
+
177
+ 配列の中に配列を入れることを考えました。しかしそれでも個数を割り出してから変数を用意しなければなりません。
178
+
179
+ 他に考え方はあるのでしょうか?

1

初心者マークの追加

2017/05/23 05:03

投稿

kusunoki
kusunoki

スコア17

test CHANGED
File without changes
test CHANGED
File without changes