如何在Excel中向INDEX函数传递动态工作表与表格名称参数?
动态获取指定工作表中表格的第2个索引值
直接使用以下公式即可实现需求:
=INDEX(INDIRECT("'"&$B$2&"'!"&$B$3),2)
公式说明
INDIRECT("'"&$B$2&"'!"&$B$3):将Home表中B2的工作表名和B3的表格名拼接成合法的Excel引用(格式为'工作表名'!表格名),并转换为实际的表格区域引用。比如当B2为tab_1、B3为Table_1时,会指向tab_1工作表里的Table_1整个表格区域。INDEX(...,2):从上述表格区域中,按行优先的顺序提取第2个位置的值(即表格第一行的第二个单元格内容)。
注意事项
- 确保B2的工作表名、B3的表格名与实际工作表/表格的名称完全一致(包括大小写,Excel在部分环境下对名称大小写敏感),否则公式会返回
#REF!错误。 - 如果工作表名称包含空格,公式中的单引号是必需的,当前公式已自动处理这种情况。
- 若你需要的是表格的第2列所有数据而非区域内第2个值,可修改公式为:
=INDEX(INDIRECT("'"&$B$2&"'!"&$B$3&"[#All]"),,2)
内容的提问来源于stack exchange,提问作者user2986042
相关产品推荐
相关产品推荐

