回答編集履歴

2

ああ

2018/02/19 04:59

投稿

jinshan
jinshan

スコア107

test CHANGED
@@ -8,17 +8,15 @@
8
8
 
9
9
  ```ここに言語を入力
10
10
 
11
- //シート・列を指定して最終使用行を取得する
11
+ //シート・列を指定して最終使用行を取得する(getValue()を使用)
12
12
 
13
13
  function _getLastRow(sheet,col){
14
14
 
15
- var lastRow = 1
15
+ var lastRow = 0
16
16
 
17
- for (var i=sheet.getLastRow(); i>1; i--) {
17
+ for (var i = sheet.getLastRow(); i>0; i--) {
18
18
 
19
- if(sheet.getRange(i, col).getValue() != "") {
19
+ if(sheet.getRange(i, col).getValue() != '') {
20
-
21
- lastRow = i
22
20
 
23
21
     break;
24
22
 
@@ -26,10 +24,42 @@
26
24
 
27
25
   }
28
26
 
27
+ lastRow = i
28
+
29
29
  return lastRow
30
30
 
31
31
  }
32
32
 
33
33
 
34
34
 
35
+ //シート・列を指定して最終使用行を取得する(配列を使用)
36
+
37
+ function _getLastRow2(sheet,col){
38
+
39
+ var lastRow = 0
40
+
41
+ var ary =[[]]
42
+
43
+ ary = sheet.getRange(1,col,sheet.getLastRow()).getValues()
44
+
45
+
46
+
47
+ for (var i = ary.length-1; i>-1; i--) {
48
+
49
+ if(ary[i][0] != '') {
50
+
51
+    break;
52
+
53
+   }
54
+
55
+  }
56
+
57
+ lastRow = i
58
+
59
+ return lastRow +1 //配列添字数との差を加算
60
+
61
+ }
62
+
63
+
64
+
35
65
  ```

1

2018/02/19 04:59

投稿

jinshan
jinshan

スコア107

test CHANGED
@@ -1,6 +1,8 @@
1
- 下記の関数を呼び出して、引数指定シートオブジェクト・指定列(A列なら1)で結果を得られます。
1
+ 下記の関数を呼び出して、引数指定シートオブジェクト・指定列(A列なら1)で指定列の最終使用行を得られます。呼び出しで得られた行の次行からデータを追記するようにすればよいかと思います。
2
2
 
3
+
4
+
3
- 仕組みは、シート全体の最終行を取得してから、指定列の最終使用行を1行ずつ上に空白かどうか見ていくという内容です。
5
+ この関数の仕組みは、シート全体の最終行を取得してから、指定列の最終使用行を1行ずつ上に空白かどうか見ていくという内容です。
4
6
 
5
7
 
6
8