【问题标题】:How pass dynamic value to a INDEX function in Excel?如何将动态值传递给 Excel 中的 INDEX 函数?
【发布时间】:2023-02-17 01:22:22
【问题描述】:

我想编写一个动态的 excel 条件来根据单元格内容获取一些值。

我的 Excel 工作表包含 3 标签。分别为Hometab_1tab_2。在home 选项卡中,我有一些用于选择sheettable 的文本内容。

tab_1 工作表中,我有名为Table_1Table_2Table_3Table_4 的表。

现在我想根据文本值从表中获取一些元素。

例子:如果工作表名称 = Tab_1 和表名称 = Table_1 那么我将从 Table_1 数组中的 Tab_1 工作表中获取 2nd index 值。 我的计划是使用 excel 公式动态地做。

所以我尝试编写以下逻辑来获取第二个索引值。

INDEX(INDIRECT("'"&$B$2& "'!B1:F1"),2) 

在这里它将以 $B2 作为 Tab_1 。我将表值作为 "B1:F1" 传递。

现在我不知道如何使用主表 (Table_1) 中的单元格 $B3 获取匹配数组(而不是 B1:F1)。

有什么建议或帮助吗?

【问题讨论】:

  • 您是否考虑过只命名您的表然后使用表名?这将大大简化问题。

标签: excel excel-formula


【解决方案1】:

最后经过一些研究,我找到了解决方案。我们可以使用 MATCH 函数来检查确切的行名。

INDIRECT("'"&$B$2&"'!A1:F4)

这将在下一个选项卡中搜索(单元格 B2 文本名称即:Tab_1 和表格从 A1F4 单元格)

MATCH($B5,INDIRECT("'"&$B$2&"'!A1:F4),0)

这将从选项卡中搜索确切的名称(来自单元格B3 文本即:Table_1

所以你可以一起写下面的函数:

INDEX(INDIRECT("'"&$B$2&"'!A1:F4),MATCH($B3,INDIRECT("'"&$B$2&"'!A1:F4),0),2)

我希望这个解决方案能帮助您遇到此类问题的人。

【讨论】:

    猜你喜欢
    • 2020-03-17
    • 1970-01-01
    • 2015-01-20
    • 2018-01-12
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    相关资源
    最近更新 更多