Excel无宏环境下,如何通过行列匹配获取目标单元格数据?
解决Excel无宏情况下通过行列匹配获取单元格内容的问题
核心解决方案
不需要先转换列字母再拼接地址,直接用INDEX+MATCH组合即可直接获取目标内容,这是Excel查找匹配的标准高效用法:
=INDEX('Sheet4'!$3:$36, MATCH(Sheet1!$B$172, 'Sheet4'!$B$3:$B$36, 0), MATCH(Sheet1!$B$3, 'Sheet4'!$2:$2, 0))
公式拆解
MATCH(Sheet1!$B$172, 'Sheet4'!$B$3:$B$36, 0):精准匹配员工姓名在Sheet4 B列中的相对行号MATCH(Sheet1!$B$3, 'Sheet4'!$2:$2, 0):精准匹配目标日期在Sheet4第2行中的列号INDEX('Sheet4'!$3:$36, 行号, 列号):根据计算出的行号和列号,直接提取对应单元格的内容
关于你之前方法的问题
你拼接出的是文本格式的单元格地址(比如"D1"),Excel默认不会将文本识别为单元格引用。虽然可以用INDIRECT函数实现(比如=INDIRECT("Sheet4!"&你的地址公式)),但INDIRECT是易失性函数,会增加文件计算负荷,且表格结构变动时容易出错,因此不推荐使用。
内容的提问来源于stack exchange,提问作者PCosmo
相关产品推荐
相关产品推荐

