質問編集履歴

3

間違っていたため修正

2020/12/04 15:06

投稿

SAKUS
SAKUS

スコア0

test CHANGED
File without changes
test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  |:--|:--|:--:|--:||:--|:--:|--:|
24
24
 
25
- |1行目|回答者||Aさん|||Bさん|||Cさん|||
25
+ |1行目|回答者|Aさん|||Bさん|||Cさん|||
26
26
 
27
27
  |2行目||第2地域|||第3地域|||第4地域|||
28
28
 

2

表を追記しました。

2020/12/04 15:06

投稿

SAKUS
SAKUS

スコア0

test CHANGED
File without changes
test CHANGED
@@ -18,60 +18,60 @@
18
18
 
19
19
  <コピー元データのシート>
20
20
 
21
- |A列|B列|C列|D列|E列|F列|G列|H列|I列
21
+ |||A列|B列|C列|D列|E列|F列|G列|H列|I列
22
-
22
+
23
- |:--|:--:|--:||:--|:--:|--:|
23
+ |:--|:--|:--:|--:||:--|:--:|--:|
24
-
24
+
25
- |Aさん|||Bさん|||Cさん|||
25
+ |1行目|回答者||Aさん|||Bさん|||Cさん|||
26
-
26
+
27
- |第2地域|||第3地域|||第4地域|||
27
+ |2行目||第2地域|||第3地域|||第4地域|||
28
-
28
+
29
- |満足度|獲得数|コメント|満足度|獲得数|コメント|満足度|獲得数|コメント|
29
+ |3行目||満足度|獲得数|コメント|満足度|獲得数|コメント|満足度|獲得数|コメント|
30
+
31
+ |4行目|佐々木さん|8|9||||||
32
+
33
+ |5行目|佐藤さん|10|11|親切な対応|10|10|話し上手||
34
+
35
+ |6行目|中村さん|10|11||9|10|||
36
+
37
+ |7行目|林さん|||||||5|7|連絡が早い|
38
+
39
+ |8行目|柴咲さん|||||||5|7||
40
+
41
+
42
+
43
+
44
+
45
+ ②それぞれの担当者にデータを反映する。
46
+
47
+  ※担当者のシートに転機するのは三行ずつです。
48
+
49
+  ※コメントがない物もありますが、満足度と獲得数は必ず入力されています。
50
+
51
+   そのため、満足度が入っているセルからそれぞれコピーしたいです。
52
+
53
+  
54
+
55
+  例.Aさんの場合はA4からC6までのデータをそのまま反映したいです。
56
+
57
+    Cさんの場合はG7からI8までのデータをそのまま反映したいです。
58
+
59
+
60
+
61
+ 転機するシート
62
+
63
+ Aさんの場合
64
+
65
+ |A列|B列|C列|
66
+
67
+ |:--|:--:|--:|
68
+
69
+ |Aさんのフィードバックシート|
70
+
71
+ |満足度|獲得数|コメント|
30
72
 
31
73
  |8|9||||||
32
74
 
33
- |10|11|親切な対応|10|10|話し上手||
34
-
35
- |10|11||9|10|||
36
-
37
- |||||||5|7|連絡が早い|
38
-
39
- |||||||5|7||
40
-
41
-
42
-
43
-
44
-
45
- ②それぞれの担当者にデータを反映する。
46
-
47
-  ※担当者のシートに転機するのは三行ずつです。
48
-
49
-  ※コメントがない物もありますが、満足度と獲得数は必ず入力されています。
50
-
51
-   そのため、満足度が入っているセルからそれぞれコピーしたいです。
52
-
53
-  
54
-
55
-  例.Aさんの場合はA4からC6までのデータをそのまま反映したいです。
56
-
57
-    Cさんの場合はG7からI8までのデータをそのまま反映したいです。
58
-
59
-
60
-
61
- 転機するシート
62
-
63
- Aさんの場合
64
-
65
- |A列|B列|C列|
66
-
67
- |:--|:--:|--:|
68
-
69
- |Aさんのフィードバックシート|
70
-
71
- |満足度|獲得数|コメント|
72
-
73
- |8|9||||||
74
-
75
75
  |10|11|親切
76
76
 
77
77
  |10|11|

1

作成したコードを貼り付けました。

2020/12/04 15:04

投稿

SAKUS
SAKUS

スコア0

test CHANGED
File without changes
test CHANGED
@@ -78,6 +78,10 @@
78
78
 
79
79
 
80
80
 
81
+ 上記のような形で、BさんもCさんの分もそれぞれ転機したいです。
82
+
83
+
84
+
81
85
  ①の作業まではなんとかできましたが、②が全く進みません。
82
86
 
83
87
  セルの長さと横の長さを取得したり、offsetを使って見ましたが、うまく行きませんでした。
@@ -87,3 +91,119 @@
87
91
  教えて頂けますと幸いでございます。
88
92
 
89
93
  よろしくお願い致します。
94
+
95
+
96
+
97
+ 作成したスクリプト
98
+
99
+
100
+
101
+ ```
102
+
103
+ function CreateCommentsheet(){
104
+
105
+ Createsheet();
106
+
107
+ Copydata();
108
+
109
+ }
110
+
111
+
112
+
113
+
114
+
115
+ function Createsheet() {
116
+
117
+ var folderId = '格納先';//格納先
118
+
119
+ var spreadsheetId = '転機するシートのマスターのスプレッドシート';//マスターのシート取得
120
+
121
+ var folder = DriveApp.getFolderById(folderId);
122
+
123
+ var file = DriveApp.getFileById(spreadsheetId);
124
+
125
+
126
+
127
+ var ss = SpreadsheetApp.getActiveSpreadsheet();
128
+
129
+ var mySheet = ss.getSheetByName('シート1'); //スプレッドシートのシートを取得
130
+
131
+ var fileName = "営業担当のコメントシート"; //ファイル名変更
132
+
133
+
134
+
135
+ //新しく作成したシートのIDを取得してセルに貼り付けるコード等を書いていますが、
136
+
137
+ //長くなるため、削除しています。
138
+
139
+ }
140
+
141
+
142
+
143
+ function Copydata() {
144
+
145
+ var ss_copyFrom = SpreadsheetApp.getActiveSpreadsheet();
146
+
147
+
148
+
149
+ var sheet = ss_copyFrom.getSheetByName('シート1');
150
+
151
+ var strURL= sheet.getRange(1,15).getValue()
152
+
153
+ var ss_copyTo = SpreadsheetApp.openById(strURL);
154
+
155
+
156
+
157
+ // 書出シートの作成
158
+
159
+ var ss_sheet_temp = ss_copyTo.getSheetByName("マスターシート");
160
+
161
+ var lastColomn = ss_copyFrom.getLastColumn();
162
+
163
+ var lastRow = ss_copyFrom.getLastRow();//最終行を取得
164
+
165
+
166
+
167
+
168
+
169
+ for(var j=2;j<=lastColomn;j++){
170
+
171
+ var range = sheet.getRange(1,j);
172
+
173
+ var value = range.getDisplayValue();
174
+
175
+ if(value!= ""){
176
+
177
+ var SName = sheet.getRange(1,j).getValue(); //担当名
178
+
179
+ var AreaName = sheet.getRange(2,j).getValue(); //地域名
180
+
181
+
182
+
183
+ // データとファイル名の変更
184
+
185
+ var ss_sheet_copy = ss_sheet_temp.copyTo(ss_copyTo);
186
+
187
+
188
+
189
+ // 作成後のファイル名に使用する名前を決める。変えたい場合はここで変更
190
+
191
+ var name = SName + "_" + AreaName
192
+
193
+ var NewNameSheet = ss_sheet_copy.setName(name);//シートの名前を変更
194
+
195
+
196
+
197
+
198
+
199
+ // ★ここから②になりますデータ書き換え 
200
+
201
+
202
+
203
+ }
204
+
205
+ }
206
+
207
+
208
+
209
+ ```