実現したいこと
google apps scriptで条件に一致しなった値を検索するスクリプトを作ろうとしています。
前提
スプレッドシートから取得した値のリストA(Values1)、
PDFがフォルダからファイル名を取得した値のリストB(Values2)を作り
それぞれ比較して、一致なかった値を探し出したいと考えております。
一致した値を検索するVloolkup的なスクリプトを以前、記事を参考にして作ったことがあったので、
厳密比較演算に!(否定)をつければ、一致しなかった値が取れるのかと考えましたが甘かったです。
var Notmatch = []; for(let i = 1; i < Values1.length; i++){ for( let j = 0; j < Values2.length; j++){ if(Values1[i] !== Values2[j]){ Notmatch.push(Values1); } //for_j }//for_i }//for_If
完全に行き詰ってっしまったので質問させて頂きました。
目的を達成できるコード、もしくは他の考え方があればご教授お願いいたします。
発生している問題・エラーメッセージ
### 該当の全体ソースコード ```google apps script function getFileList2_2() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('XXX'); var lastRow2 = sheet.getRange(sheet.getMaxRows(), 1).getNextDataCell(SpreadsheetApp.Direction.UP).getRow(); Logger.log(lastRow2); const Values1 = sheet.getRange(2, 3, lastRow2).getValues().flat(); console.log(Values1); // 指定フォルダ内のファイルを一括取得(FileIteratorオブジェクト) const files = DriveApp.getFolderById('xxxxxxxx').getFiles(); let arrFiles = []; while (files.hasNext()) { const file = files.next(); const name = file.getName(); arrFiles.push(name); } let List1 = arrFiles.filter(rowData => rowData.indexOf('2023') !==-1); let Values2 = List1.map((value) => {return value.replace('.pdf','').slice(10);}); console.log(Values2); var Notmatch = []; for(let i = 1; i < Values1.length; i++){ for( let j = 0; j < Values2.length; j++){ if(Values1[i] !== Values2[j]){ Notmatch.push(Values1); } //for_j }//for_i }//for_If console.log(Notmatch); }```

回答3件
あなたの回答
tips
プレビュー