質問: 17; // 挿入したい列数 sheet2.getRange(startRow, setColumn, sheet2.getLastRow(), 1).setValues(setData); } ``` エラーの原因、または、別のscriptなどがありましたらご教授お願いいたします。
回答: ぱっと見ただけですが、以下の2箇所がおかしいです。 ``` //kvData.foreach(function(kvData) { kvData.forEach(function(kv) { kvDic[kv[keyColumn - 1]] = kv[valueColumn - 1]; }); //(中略) //targetData.foreach(function(targetData) { targetData.forEach(function(targetRow) { setData.push([kvDic[targetRow[0]]]); }); ``` 別の方法として、スプレッドシート関数の`ARRAYFORMULA`と`VLOOKUP`を使うことでGASのコードなしでも実現できます。 * ARRAYFORMULA * VLOOKUP Q3 セルに以下を指定することで Q4 以降のセルも自動的にメールアドレスが設定されます。 ``` =arrayformula(iferror(vlookup($F3:$F, 'シート2'!$A$2:$B,2,false),"")) ```