以下是一种解决该问题的方法,使用Google Sheets的Apps Script代码:
1.首先,我们要获取目标工作表的引用,假设名为'Sheet1”:
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
2.接下来,我们要获取目标列和要匹配的ID值:
var targetColumn = 2; // 目标列为第2列,可根据实际情况更改
var targetId = '12345'; // 需要匹配的ID值,也可根据实际情况更改
3.接着,我们要遍历该列,找到与目标ID匹配的行数:
var lastRow = sheet.getLastRow();
var matchRow = null;
for (var i = 1; i <= lastRow; i++) {
var id = sheet.getRange(i, targetColumn).getValue();
if (id == targetId) {
matchRow = i;
break;
}
}
注意,由于行数从1开始,因此循环的起始值为1。
4.最后,我们可以将匹配到的单元格写入所需的值,例如:
if (matchRow) {
sheet.getRange(matchRow, targetColumn + 1).setValue('匹配到了!');
}
上述示例假设我们希望在匹配到的单元格右侧第一列写入'匹配到了!”,可根据实际情况更改。
完整代码如下:
function matchIdAndWriteValue() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var targetColumn = 2; // 目标列为第2列,可根据实际情况更改
var targetId = '12345'; // 需要匹配的ID值,也可根据实际情况更改
var lastRow = sheet.getLastRow();
var matchRow = null;
for (var i = 1; i <= lastRow; i++) {
var id = sheet.getRange(i, targetColumn).getValue();
if (id == targetId) {
matchRow = i;
break;
}
}
if (matchRow) {
sheet.getRange(matchRow, targetColumn + 1