下記のような状態のスプレッドシートがあります。
担当者 状態 カテゴリ タスク
担当者1 1ToDo ABC タスク
担当者1 1ToDo ABC タスク
担当者2 1ToDo DEF タスク
担当者3 1ToDo DEF タスク
担当者1 1ToDo ABC タスク
担当者1 2Doing DEF タスク
担当者1 2Doing ABC タスク
担当者2 2Doing ABC タスク
担当者3 2Doing DEF タスク
担当者1 2Doing ABC タスク
担当者2 3Waiting DEF タスク
担当者3 3Waiting DEF タスク
担当者2 4Done ABC タスク
担当者3 4Done ABC タスク
担当者1 4Done DEF タスク
担当者2 4Done ABC タスク
これを「担当者」毎、「状態」毎に下記のようにレポート形式で表示をしたいです。
※タスクの内容は上記を考慮しておらず適当になっています。
担当者1
1ToDo
ABC タスク
ABC タスク
DEF タスク
2Doing
ABC タスク
ABC タスク
DEF タスク
3Waiting
4Done
ABC タスク
strBodyという変数に読み込むことまでは成功しました。
1. まずは配列の中身を「担当者」毎、「状態」毎にソートする。
2. forループで、「状態」が変わったらbreakして次の「状態」に移る。
3. 「状態」が変わったらbreakして次の「状態」に移るを「担当者」が変わるまで繰り返す。
4. 「担当者」が変わったらbreak。
5. 「担当者」が空になるまで繰り返す。
という処理にすれば良いと思うのですが、どのように書いたらよいかわかりません。
どなた助けていただけないでしょうか?
1function test() { 2 var RANGE = "B1:E20"; 3 var sheet = SpreadsheetApp.getActiveSheet(); 4 var range = sheet.getRange(RANGE); 5 var cells = range.getValues(); 6 var rowLen = range.getNumRows(); 7 var columnLen = range.getNumColumns(); 8 var strBody; 9 for (var i = 0; i < rowLen; i++) { 10 for (var j = 0; j < columnLen; j++) { 11 strBody += cells[i][j]; 12 } 13 strBody += "\n"; 14 } 15 16 Browser.msgBox(strBody); 17}``` 18 19よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/09 06:10