我正在匹配两张表中的A列
SheetA = FindReplace SheetB = Test
如果存在匹配,则将SheetA中匹配单元格右侧的值回发到SheetB中的同一行但位于B列中
匹配列中的范围大小可能不同
这来自我在这里提出的一个问题
Match text strings of two columns on different sheet and post back using google script
我需要稍微更改一下,以便当找到not
匹配时,它会回复从sheetB搜索到的值dataB[b][0]
或者b
我在这里感到困惑
我认为这会相对容易(也许就是这样),但我无法弄清楚
我尝试的其中一件事就是改变这一点
if (b != res.length - 1) res.push([""]);
至if (b != res.length - 1) res.push([b]);
另外
for (var a in dataWith) {
if (dataWith[a][0] == dataIN[b][0]) {res.push([dataPB[a][0]]);}
else {res.push([dataWith[b][0]]);}
}
这部分有效,但让位给许多ruturns
我希望这很清楚
感谢您对此的任何帮助
现在输出
MatchedCol
matchedFoundValue
matchedFoundValue
matchedFoundValue
matchedFoundValue
matchedFoundValue
.
.
.
我需要的结果:
MatchedCol
matchedFoundValue
matchedFoundValue
matchedFoundValue
SearchWithvalue (no match)
matchedFoundValue
SearchWithvalue (no match)
SearchWithvalue (no match)
matchedFoundValue
。 。
function MatchColumnsAlternate(){
// gets spreadsheet A and the range of data
var sheetA =SpreadsheetApp.getActiveSpreadsheet().getSheetByName("FindReplace");
var dataA = sheetA.getRange(2, 1, sheetA.getLastRow(), 2).getValues();
// gets spreadsheet B and the range of data
var sheetB = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Test");
var dataB = sheetB.getRange(2, 1, sheetB.getLastRow(), 1).getValues();
// Added
var res = [];
for (var b in dataB) {
for (var a in dataA) {
if (dataA[a][0] == dataB[b][0]) res.push([dataA[a][1]]);
}
if (b != res.length - 1) res.push([""]);
}
sheetB.getRange(2, 2, res.length, res[0].length).setValues(res);
}