実現したいこと
A、B、2つのシートにある二次元配列からメールアドレスをキーにして比較したい。
前提
Aの表にあってBの表にないメールアドレスがあった場合は、
該当のメールアドレスのレコードごと新しくシートに転記するようなスクリプトを組んでいます。
今の書き方だとA、B、両方のメールアドレスに対して全ての組み合わせで比較してしまっているので、
結果を出力するとAのシートがそのまま出力されてしまいます。
二次元配列同士の特定のキーを比較する記事などが見つからず苦戦しています。
どのように書けばよろしいでしょうか。
また、実際はデータの数が大量にあるので、
for文ではない方がよければ、そちらも併せてご教授いただければ幸いです。
該当のソースコード
function myFunction() { var SS = SpreadsheetApp.getActiveSpreadsheet(); //シートAを取得 var Sheet_a = SS.getSheetByName('シートA'); // 2行目以降の全データを取得 var Adat = Sheet_a.getDataRange().getValues().slice(1); //シートBを取得 var Sheet_b = SS.getSheetByName('シートB'); // 2行目以降の全データを取得 var Bdat = Sheet_b.getDataRange().getValues().slice(1); //結果シートを取得 var CheckSheet = SS.getSheetByName('結果'); //結果格納用の配列 var Check=[]; for(var i=0;i<Adat.length;i++){ for(var k=0;k<Bdat.length;k++){ if(Adat[i][1]!=Bdat[k][1]){ Check.push(Adat[i]) } } } CheckSheet.getRange(2,1,Adat.length,Adat[0].length).setValues(Adat); }

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