|
function 配对2() {
// 获取信息表数据
let ar = Sheets("信息表").Range("A1").CurrentRegion.Value2.slice(1); // 跳过标题行
let d = {};
for (let x of ar) {
// 构建字典,使用姓名+出生年月+地址作为键
let key = (x[0] || "") + (x[3] || "") + (x[4] || ""); // 姓名(A列)、出生年月(D列)、地址(E列)
d[key] = {
parentName: x[5] || "未找到", // 父母姓名(F列)
studentId: x[7] || "未找到" // 学籍号(H列)
};
}
// 获取查询表数据
with (Sheets("查询表")) {
let queryData = Range("A1").CurrentRegion.Value2.slice(1); // 跳过标题行
let res = queryData.map((x) => {
let key = (x[0] || "") + (x[1] || "") + (x[2] || ""); // 姓名(A列)、出生年月(B列)、地址(C列)
let match = d[key] || { parentName: "未找到", studentId: "未找到" };
return [match.parentName, match.studentId]; // 返回父母姓名和学籍号
});
// 写入查询表D列和E列
Range("D2").Resize(res.length, 1).Value2 = res.map(item => [item[0]]);
Range("E2").Resize(res.length, 1).Value2 = res.map(item => [item[1]]);
}
} |
|