如何在Excel/Mac Numbers中匹配姓名关联数字并填入指定位置?
Numbers 跨表匹配计算并回填数据方案
核心公式(Sheet1 E列单元格)
在Sheet1的E2单元格输入以下公式,下拉填充至所有行即可自动计算对应数值:
INDEX(Sheet2!$B$2:$K$11, MATCH(Sheet1!D2, Sheet2!$B$1:$K$1, 0), MATCH(INDEX(Sheet1!$B$2:$B$9, MATCH(RIGHT(Sheet1!C2, LEN(Sheet1!C2)-FIND(" ", Sheet1!C2)), Sheet1!$A$2:$A$9, 0)), Sheet2!$A$2:$A$11, 0))
公式拆解说明
- 提取姓氏并匹配B列数值:
RIGHT(Sheet1!C2, LEN(Sheet1!C2)-FIND(" ", Sheet1!C2))从C列全名中提取空格后的姓氏,再通过MATCH找到该姓氏在A列的精确位置,最后用INDEX取出对应B列的数字(对应示例中的L2=4)。 - 匹配D列数字在Sheet2的列位置:
MATCH(Sheet1!D2, Sheet2!$B$1:$K$1, 0)找到当前行D列数字在Sheet2首行(B1:K1)的匹配位置(对应示例中的L3=5)。 - 跨表取值回填:
最外层INDEX根据前两个MATCH得到的行、列位置,从Sheet2的B2:K11区域中取出对应数值(对应示例中的33),直接填入E列。
适配调整说明
- 如果姓氏是全名的第一个词(如中文姓名),将提取姓氏的部分替换为:
LEFT(Sheet1!C2, FIND(" ", Sheet1!C2)-1) - 根据实际数据范围,修改公式中的区域引用(如Sheet2的
$B$2:$K$11、Sheet1的$A$2:$A$9等)
内容的提问来源于stack exchange,提问作者soop
相关产品推荐
相关产品推荐

