質問編集履歴

6

解決方法を追記した。

2018/03/27 00:22

投稿

koromo_t
koromo_t

スコア60

test CHANGED
File without changes
test CHANGED
@@ -39,3 +39,115 @@
39
39
  先に書かないといけなかったのですが、忘れていたので追記します。
40
40
 
41
41
  Excelのタグを付けていますが、当方スプレッドシートを使っています。
42
+
43
+
44
+
45
+ **~解決後のまとめ~**
46
+
47
+ ---
48
+
49
+ ttyp03さんの回答を参考に解決しましたので、まとめておきます!
50
+
51
+
52
+
53
+ ---
54
+
55
+
56
+
57
+ 「GAS スプレッドシート 1が入力されたら」で検索したところ、
58
+
59
+ 参考になりそうな記事を見つけまして(下記参照)、
60
+
61
+ それをカスタマイズ?してみたところ、ななんと、うまくいきました。
62
+
63
+ なので、ご報告に上がりました。
64
+
65
+
66
+
67
+ もうひとつ、別のスクリプトから、
68
+
69
+ 「右隣にアクティブセルを移動する」という要素もお借りして、
70
+
71
+
72
+
73
+ 「変更のあったセルの値が1だったときに、
74
+
75
+ 変更のあったセルのある行の1行下の2列目のセルに0を入力し、
76
+
77
+ 右隣のセルにアクティブセルを移動。」
78
+
79
+ という内容にしてみました。
80
+
81
+
82
+
83
+ ### 完成形
84
+
85
+ ```javaScript
86
+
87
+ // シートに変更があった時に実行する関数
88
+
89
+ function onEditEvent() {
90
+
91
+ // 変更のあったシート
92
+
93
+ var ss = SpreadsheetApp.getActiveSpreadsheet();
94
+
95
+ var sh = ss.getActiveSheet();
96
+
97
+ // 変更のあったセル
98
+
99
+ var cell = ss.getActiveRange();
100
+
101
+ // 変更のあったセルの値
102
+
103
+ var val = cell.getValue();
104
+
105
+ // 変更のあったセルの値が1だった時に
106
+
107
+ if( ( val == 1 ) ) {
108
+
109
+ // 変更のあったセルの有る行番号
110
+
111
+ var r = cell.getRow();
112
+
113
+ // 変更のあったセルの有る行の下の行の2列目を選択
114
+
115
+ var rowRange = sh.getRange(r+1, 2);
116
+
117
+ rowRange.setValue(0).offset(0, 1).activate() ;
118
+
119
+ }
120
+
121
+ }
122
+
123
+ ```
124
+
125
+
126
+
127
+ ### 【ありがたい参考記事】
128
+
129
+ ・[https://teratail.com/questions/118993](https://teratail.com/questions/118993)
130
+
131
+ 当記事です。希望を実現するにはスクリプトが必要ということがわかりました。
132
+
133
+ ・[http://chaika.hatenablog.com/entry/2015/09/03/143622](http://chaika.hatenablog.com/entry/2015/09/03/143622)
134
+
135
+ セルに特定の値を入力したら処理を行う方法を参考にしました。
136
+
137
+ スクリプトのベースはこちらの方のもの。
138
+
139
+ ・[http://www.relief.jp/docs/google-spreadsheet-gas-offset.html](http://www.relief.jp/docs/google-spreadsheet-gas-offset.html)
140
+
141
+ アクティブセルを隣に移動する方法を参考にしました。
142
+
143
+
144
+
145
+ これまで、解決した際、参考記事のことについては書いていなかったのですが、
146
+
147
+ 自分のためにもみんなのためにも書くべきかもしれないと思ったので、
148
+
149
+ これからは可能な限り書いていこうと思いました。
150
+
151
+ これまでした質問についても、ちょっと遡って、参考記事を追記してみようと思います。
152
+
153
+ ただ、どこまで追えるかわかりませんが…。

5

Excelタグの削除

2018/03/27 00:22

投稿

koromo_t
koromo_t

スコア60

test CHANGED
File without changes
test CHANGED
File without changes

4

GASを使う必要がありそうなので、タグを追加。

2018/03/26 03:26

投稿

koromo_t
koromo_t

スコア60

test CHANGED
File without changes
test CHANGED
File without changes

3

空白の削除

2018/03/26 03:14

投稿

koromo_t
koromo_t

スコア60

test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
  ### 追記(現状)
30
30
 
31
- 右端の値は```=INDEX(B2:K2,MATCH(MAX(B2:K2)+1,B2:K2,1)```で取得できるとあったので、これを使って、```=IF(INDEX(B2:K2,MATCH(MAX(B2:K2)+1,B2:K2,1))=1,B3=0,INDEX(B2:K2,MATCH( MAX(B2:K2)+1,B2:K2,1)))```
31
+ 右端の値は```=INDEX(B2:K2,MATCH(MAX(B2:K2)+1,B2:K2,1)```で取得できるとあったので、これを使って、```=IF(INDEX(B2:K2,MATCH(MAX(B2:K2)+1,B2:K2,1))=1,B3=0,INDEX(B2:K2,MATCH(MAX(B2:K2)+1,B2:K2,1)))```
32
32
 
33
33
  みたいなことまでは考えました。B3というのは、行を変えた先を想定しています。
34
34
 

2

追記

2018/03/26 03:02

投稿

koromo_t
koromo_t

スコア60

test CHANGED
File without changes
test CHANGED
@@ -31,3 +31,11 @@
31
31
  右端の値は```=INDEX(B2:K2,MATCH(MAX(B2:K2)+1,B2:K2,1)```で取得できるとあったので、これを使って、```=IF(INDEX(B2:K2,MATCH(MAX(B2:K2)+1,B2:K2,1))=1,B3=0,INDEX(B2:K2,MATCH( MAX(B2:K2)+1,B2:K2,1)))```
32
32
 
33
33
  みたいなことまでは考えました。B3というのは、行を変えた先を想定しています。
34
+
35
+
36
+
37
+ ### 追記2
38
+
39
+ 先に書かないといけなかったのですが、忘れていたので追記します。
40
+
41
+ Excelのタグを付けていますが、当方スプレッドシートを使っています。

1

現状を追記。

2018/03/26 02:54

投稿

koromo_t
koromo_t

スコア60

test CHANGED
File without changes
test CHANGED
@@ -23,3 +23,11 @@
23
23
  でも、なんか自動化できそうな気もするので、こちらで尋ねてから判断しようと思いました。
24
24
 
25
25
  可能でしたら、アイデアをいただけると嬉しいです。
26
+
27
+
28
+
29
+ ### 追記(現状)
30
+
31
+ 右端の値は```=INDEX(B2:K2,MATCH(MAX(B2:K2)+1,B2:K2,1)```で取得できるとあったので、これを使って、```=IF(INDEX(B2:K2,MATCH(MAX(B2:K2)+1,B2:K2,1))=1,B3=0,INDEX(B2:K2,MATCH( MAX(B2:K2)+1,B2:K2,1)))```
32
+
33
+ みたいなことまでは考えました。B3というのは、行を変えた先を想定しています。