Excel 索引 + if + 间接

Excel Index + if + indirect

我正在帮助一位朋友完成一项工作任务,他被交给了他,但无法弄清楚最后一部分。我们得到一个矩阵,其中包含以下布局中的工作人员/用户列表:

Location  | First Name | Last Name | Property 1 | Property 2 | Property 3 | .. | Property N
Frankfurt | Adam       | Schmidt   | X          |            | X          | .. | X,

即属性为布尔值形式(X 表示 'Yes',或为空表示 'No')。

任务是根据 Location + 1 属性 搜索所有用户,我们可以从 N 个属性中 select,即我们在某处有一个包含所有属性 1 的下拉菜单,2,..,N 我们可以 select 恰好 1 个属性。

输出格式应为:位置 |名字 |姓氏。

所以,我的想法是用属性 我们 select 的地址,然后我们使用 INDIRECT 函数将其从文本值转换为单元格引用。

举个例子,如果我们在下拉菜单中select 属性 1(位于D列),ADDRESS函数将return $D$1作为起始字段,$D$100 作为结束字段。这些字段然后在主(长)搜索函数内的 INDIRECT 函数内使用。

我从 internet 上的其他帖子中看到可以使用 SUM(INDIRECT(cell with starting cell defined&":"&cell with ending cell defined)), 所以我尝试了类似的东西在我的函数中,但它似乎不起作用。

这是 excel 文件的公式和布局的图片。

您应该将 sheet 分为 3 个部分:

  1. 数据集
  2. 条件
  3. 结果集

按照步骤为搜索创建按钮操作。

  1. 导航到 'Developer' 选项卡。
  2. 单击“插入”>“按钮”。
  3. 画一个按钮。将显示 'Assign Macro' 对话框。
  4. 点击录制。
  5. 输入宏名称 'SearchRecords' 并单击“确定”。
  6. 单击任何空单元格。导航至 'Data' 选项卡。
  7. 在 'Sort & Filter' 部分点击 'Advanced'。
  8. Select 'Copy to another location' 单选按钮并根据数据集和条件位置输入范围。

  1. 点击确定。
  2. 导航到 'Developer' 选项卡并单击 'Stop Recording'。
  3. 将按钮重命名为 'Search'。

现在您可以更新搜索条件并单击搜索按钮以更新相邻位置的结果。

一种更简单的方法是按如下方式组织输入数据:

这个数据集是 Pivot 友好的。然后,您可以创建数据集的数据透视表 Table。将位置和 属性 字段移动到报表过滤器部分,将全名移动到行标签部分,将位置移动到值部分。

请注意,全名只是 'First Name' 和 'Last Name' 的串联值。