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

回答編集履歴

5

numの値が全然違うところとってたので一応修正。

2019/11/03 03:00

投稿

roots
roots

スコア315

answer CHANGED
@@ -13,11 +13,11 @@
13
13
  for (var a = 0; a < arr.length;a++)
14
14
  {
15
15
  kaisya = arr[a][0]//会社名だけ別においとく。2行目になったら二行目の会社名をとる
16
- for (var b = 1;b<arr[a].length-1;b++)
16
+ for (var b = 0; b < arr[a].length; b++)
17
17
  {
18
18
 
19
- var num = arr[a][b*2]//単価情報
19
+ var num = arr[a][b*2+1]//単価情報
20
- var num2 = arr[a][b*2+1]//数量情報
20
+ var num2 = arr[a][b*2+2]//数量情報
21
21
  if(num == undefined || num == ""){break;}
22
22
  record.push(kaisya,num,num2)//図Bのようにrecord = [会社名,単価,数量]にする
23
23
  arr2.push(record)//そのレコードをプッシュする

4

IF文が全然間違ってたのと場所を変更

2019/11/03 03:00

投稿

roots
roots

スコア315

answer CHANGED
@@ -15,9 +15,10 @@
15
15
  kaisya = arr[a][0]//会社名だけ別においとく。2行目になったら二行目の会社名をとる
16
16
  for (var b = 1;b<arr[a].length-1;b++)
17
17
  {
18
- if(arr[a][b+2] = undefined ){break;}
18
+
19
19
  var num = arr[a][b*2]//単価情報
20
20
  var num2 = arr[a][b*2+1]//数量情報
21
+ if(num == undefined || num == ""){break;}
21
22
  record.push(kaisya,num,num2)//図Bのようにrecord = [会社名,単価,数量]にする
22
23
  arr2.push(record)//そのレコードをプッシュする
23
24
  record = []//レコードをまっさらにする。

3

前回の状態だと空白部分もそのまま追加されてしまうので一応修正。 でももっと問題あるとおもう。

2019/11/02 16:58

投稿

roots
roots

スコア315

answer CHANGED
@@ -15,7 +15,7 @@
15
15
  kaisya = arr[a][0]//会社名だけ別においとく。2行目になったら二行目の会社名をとる
16
16
  for (var b = 1;b<arr[a].length-1;b++)
17
17
  {
18
-
18
+ if(arr[a][b+2] = undefined ){break;}
19
19
  var num = arr[a][b*2]//単価情報
20
20
  var num2 = arr[a][b*2+1]//数量情報
21
21
  record.push(kaisya,num,num2)//図Bのようにrecord = [会社名,単価,数量]にする
@@ -37,6 +37,6 @@
37
37
  forの中にfor文をいれて、
38
38
  1つめのfor文には会社名をコピーして、2つめのfor文で2つづつ取っていって、それをレコード化しています。
39
39
 
40
- ごり押しな考え方なので、単価、数量以外に何かはいったりしたら速攻で正しい結果になりません。
40
+ ごり押しな考え方なので、単価、数量以外に何かはいったりしたら正しい結果になりません。
41
41
 
42
42
  もう少し待てばもっと素晴らしい回答が頂けると思うので、とりあえず先にこの発想で組んでみて下さい。

2

プログラムと言葉使いの修正...

2019/11/02 16:45

投稿

roots
roots

スコア315

answer CHANGED
@@ -13,7 +13,7 @@
13
13
  for (var a = 0; a < arr.length;a++)
14
14
  {
15
15
  kaisya = arr[a][0]//会社名だけ別においとく。2行目になったら二行目の会社名をとる
16
- for (var b = 1;b<arr[a].length;b++)
16
+ for (var b = 1;b<arr[a].length-1;b++)
17
17
  {
18
18
 
19
19
  var num = arr[a][b*2]//単価情報
@@ -39,4 +39,4 @@
39
39
 
40
40
  ごり押しな考え方なので、単価、数量以外に何かはいったりしたら速攻で正しい結果になりません。
41
41
 
42
- もう少し待てばもっと素晴らしい方々が回答してくださると思うので、とりあえず先にこも使っください。
42
+ もう少し待てばもっと素晴らしい回答が頂けると思うので、とりあえず先にこの発想組んでみさい。

1

setValuesの文がまちがってました。

2019/11/02 16:39

投稿

roots
roots

スコア315

answer CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  }
27
27
 
28
- sh.getRange("貼りたい場所").setValues("開始Row","開始Col",arr2.length,arr2[0].lenth)
28
+ sh.getRange("開始Row","開始Col",arr2.length,arr2[0].lenth).setValues(arr2)
29
29
 
30
30
  }
31
31