説明
わかりづらくてすみません。備忘録です。えーと、コピー元のA行ご覧くださいアルファベットが並んでいます。コピー元のC行に「値」から始まるアルファベットが並んでいます。
コピー先にはランダムに決めた行のどこかに「hahah」と「lalal」の文字があります。コピー元のA行を全部取得して、もし、コピー先のA行のどこかしらに、コピー元のA行の文字を見つけたら
その隣に、コピー元の値を挿入するというものです。聞くよりやって試した方が早いかもです。全部コード載せておきます。
コピー元

コピー先

実装
var hashColor2 = {};
function myFunction()
{
var sheet = SpreadsheetApp.getActiveSheet();
var lastRow = sheet.getLastRow();
// 配列の初期化
for(var i = 2; i <= lastRow; i++)
{
if(sheet.getRange(i, 1).getValue() != "")
{
// 配列のkeyに対し値を設定する
hashColor2[sheet.getRange(i, 1).getValue()] = sheet.getRange(i, 3).getValue();
}
}
//作った連想排列を関数の引数へ渡す
until1(hashColor2);
}
function until1(arrayname)
{
//コピー先
var ss_copyTo = SpreadsheetApp.openById('1DtH6QACaBynUJrrAG9qvP3CqYohX6px7rpDIh3m7Vi4');
///コピー先のスプレットシートの中のシート名
var sheet_copyTo = ss_copyTo.getSheets()[0];
///コピー先のスプレットシートの最後の行を取得する
var lastRow = sheet_copyTo.getLastRow();
//コピー先のシートの行の分だけループする
for(var i = 1; i <= lastRow; i++)
{
if(sheet_copyTo.getRange(i, 1, 1).getValue() != "")
{
//Logger.log(sheet_copyTo.getRange(i, 1, 1).getValue());
//コピー元の連想配列分だけループ
for (var key in hashColor2)
{
//もし、コピー元の値が、コピー先のどこかにあれば正解とする
if(sheet_copyTo.getRange(i, 1, 1).getValue() === key)
{
Logger.log(key + "が正解:");
Logger.log( hashColor2[key] + "を隣に挿入したい:");
sheet_copyTo.getRange(i, 2, 1).setValue(hashColor2[key]);
}else{
Logger.log("外れ");
}
}
}
}
}