前提・実現したいこと
gas初心者です。
出退勤管理ツールをGAS(Java script)で作成しています。
A列に出退勤日
B列に出退勤時間
C列にユーザ名
A列 | B列 | C列 |
---|---|---|
2021/3/4 | 10:00 | Aさん |
2021/3/5 | 10:00 | Aさん |
2021/3/6 | 10:00 | Aさん |
2021/3/4 | 10:00 | Bさん |
2021/3/5 | 10:00 | Bさん |
2021/3/6 | 10:00 | Bさん |
2021/3/3 | 10:00 | Cさん |
以上のデータがスプレッドシートに出力されています。
同じユーザで日付データを配列に格納しようと考えています。
userData1 = Aさんの出退勤日
userData2 = Bさんの出退勤日
userData3 = Cさんの出退勤日
for文とif文を使用して配列に入れようと考えていますが、一人分のデータしか取得ができません。
for文で変数を動的に指定する方法に苦戦しています。
どなたかお力添えいただけませんでしょうか。
発生している問題・エラーメッセージ
userdata[i]
該当のソースコード
GAS
1function myFunction() { 2 3//ユーザデータを配列に格納 4 let duplicateUserList = SHEET. getRange( 1, 3, SHEET. getLastRow()). getValues(). flat(); 5 let userList = Array. from( new Set(duplicateUserList)); 6 7 8//1人目はif文で一致したデータをusedataに格納できる。 9//2人目移行をどのように指定すべきでしょうか。(とりあえずbreakにしている) 10 11 let attendanceDataList = SHEET.getRange( 1, 1, SHEET.getLastRow(), 3).getValues(); 12 let userdata1 = [] 13 for( let i = 0; i < userList.length; i++){ 14 for (let ii = 0; ii <= attendanceDataList.length; ii++){ 15 if( userList[i] == attendanceDataList[ii][2]){ 16 userdata1.push(attendanceDataList[ii][0]) 17 }else{ 18 break; 19 } 20 } 21 } 22}
試したこと
eval("var workdaysForEachUser_" + i + "= [] ;");
上記文を1回目のfor文に追加を試みましたが、ifでどのように指定すべきか分かりませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/15 13:26
2021/04/16 00:58