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

質問編集履歴

3

間違っていたため修正

2020/12/04 15:06

投稿

SAKUS
SAKUS

スコア0

title CHANGED
File without changes
body CHANGED
@@ -10,7 +10,7 @@
10
10
  <コピー元データのシート>
11
11
  |||A列|B列|C列|D列|E列|F列|G列|H列|I列
12
12
  |:--|:--|:--:|--:||:--|:--:|--:|
13
- |1行目|回答者||Aさん|||Bさん|||Cさん|||
13
+ |1行目|回答者|Aさん|||Bさん|||Cさん|||
14
14
  |2行目||第2地域|||第3地域|||第4地域|||
15
15
  |3行目||満足度|獲得数|コメント|満足度|獲得数|コメント|満足度|獲得数|コメント|
16
16
  |4行目|佐々木さん|8|9||||||

2

表を追記しました。

2020/12/04 15:06

投稿

SAKUS
SAKUS

スコア0

title CHANGED
File without changes
body CHANGED
@@ -8,16 +8,16 @@
8
8
  元になるフィードバックシートをコピーし、それぞれの担当者の名前が自動でスプレットシートのタブ名が担当者になります。
9
9
 
10
10
  <コピー元データのシート>
11
- |A列|B列|C列|D列|E列|F列|G列|H列|I列
11
+ |||A列|B列|C列|D列|E列|F列|G列|H列|I列
12
- |:--|:--:|--:||:--|:--:|--:|
12
+ |:--|:--|:--:|--:||:--|:--:|--:|
13
- |Aさん|||Bさん|||Cさん|||
13
+ |1行目|回答者||Aさん|||Bさん|||Cさん|||
14
- |第2地域|||第3地域|||第4地域|||
14
+ |2行目||第2地域|||第3地域|||第4地域|||
15
- |満足度|獲得数|コメント|満足度|獲得数|コメント|満足度|獲得数|コメント|
15
+ |3行目||満足度|獲得数|コメント|満足度|獲得数|コメント|満足度|獲得数|コメント|
16
- |8|9||||||
16
+ |4行目|佐々木さん|8|9||||||
17
- |10|11|親切な対応|10|10|話し上手||
17
+ |5行目|佐藤さん|10|11|親切な対応|10|10|話し上手||
18
- |10|11||9|10|||
18
+ |6行目|中村さん|10|11||9|10|||
19
- |||||||5|7|連絡が早い|
19
+ |7行目|林さん|||||||5|7|連絡が早い|
20
- |||||||5|7||
20
+ |8行目|柴咲さん|||||||5|7||
21
21
 
22
22
 
23
23
  ②それぞれの担当者にデータを反映する。

1

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

2020/12/04 15:04

投稿

SAKUS
SAKUS

スコア0

title CHANGED
File without changes
body CHANGED
@@ -38,8 +38,68 @@
38
38
  |10|11|親切
39
39
  |10|11|
40
40
 
41
+ 上記のような形で、BさんもCさんの分もそれぞれ転機したいです。
42
+
41
43
  ①の作業まではなんとかできましたが、②が全く進みません。
42
44
  セルの長さと横の長さを取得したり、offsetを使って見ましたが、うまく行きませんでした。
43
45
  4日ほど色々試したのですが、うまくいかず悩んでいます。
44
46
  教えて頂けますと幸いでございます。
45
- よろしくお願い致します。
47
+ よろしくお願い致します。
48
+
49
+ 作成したスクリプト
50
+
51
+ ```
52
+ function CreateCommentsheet(){
53
+ Createsheet();
54
+ Copydata();
55
+ }
56
+
57
+
58
+ function Createsheet() {
59
+ var folderId = '格納先';//格納先
60
+ var spreadsheetId = '転機するシートのマスターのスプレッドシート';//マスターのシート取得
61
+ var folder = DriveApp.getFolderById(folderId);
62
+ var file = DriveApp.getFileById(spreadsheetId);
63
+
64
+ var ss = SpreadsheetApp.getActiveSpreadsheet();
65
+ var mySheet = ss.getSheetByName('シート1'); //スプレッドシートのシートを取得
66
+ var fileName = "営業担当のコメントシート"; //ファイル名変更
67
+
68
+ //新しく作成したシートのIDを取得してセルに貼り付けるコード等を書いていますが、
69
+ //長くなるため、削除しています。
70
+ }
71
+
72
+ function Copydata() {
73
+ var ss_copyFrom = SpreadsheetApp.getActiveSpreadsheet();
74
+
75
+ var sheet = ss_copyFrom.getSheetByName('シート1');
76
+ var strURL= sheet.getRange(1,15).getValue()
77
+ var ss_copyTo = SpreadsheetApp.openById(strURL);
78
+
79
+ // 書出シートの作成
80
+ var ss_sheet_temp = ss_copyTo.getSheetByName("マスターシート");
81
+ var lastColomn = ss_copyFrom.getLastColumn();
82
+ var lastRow = ss_copyFrom.getLastRow();//最終行を取得
83
+
84
+
85
+ for(var j=2;j<=lastColomn;j++){
86
+ var range = sheet.getRange(1,j);
87
+ var value = range.getDisplayValue();
88
+ if(value!= ""){
89
+ var SName = sheet.getRange(1,j).getValue(); //担当名
90
+ var AreaName = sheet.getRange(2,j).getValue(); //地域名
91
+
92
+ // データとファイル名の変更
93
+ var ss_sheet_copy = ss_sheet_temp.copyTo(ss_copyTo);
94
+
95
+ // 作成後のファイル名に使用する名前を決める。変えたい場合はここで変更
96
+ var name = SName + "_" + AreaName
97
+ var NewNameSheet = ss_sheet_copy.setName(name);//シートの名前を変更
98
+
99
+
100
+ // ★ここから②になりますデータ書き換え 
101
+
102
+ }
103
+ }
104
+
105
+ ```