Excel索引+ if +间接

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

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

即属性是布尔forms(X表示“是”,或者空表示“否”)。

任务是根据位置+ 1属性search所有用户,我们可以从N个属性中进行select,即我们有一个下拉菜单,其中包含所有属性1,2,…,N,我们可以精确select1的属性。

输出应该是格式:Location | 名字| 姓。

所以,我的想法是用我们select的属性的ADDRESSreplace标准IF((“array for criteria 1”=“criteria 1”)*(“array for criteria 2”=“yes”),…) ,然后我们使用INDIRECT函数从文本值转换为单元格引用。

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

我已经从互联网上的其他post看到,有可能使用SUM(INDIRECT(带有起始单元格定义的单元格“:”&cell with defined cell defined)),所以我尝试了类似的function,但它不似乎工作。

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

你应该把你的工作表分成三部分:

  1. 数据集
  2. 标准
  3. 结果集

高级过滤器

按照步骤为search创buildbutton操作。

  1. 导航到“开发者”选项卡。
  2. 点击插入>button。
  3. 画一个button。 将显示“分配macros”对话框。
  4. 点击logging。
  5. inputmacros名称为“SearchRecords”,然后单击确定。
  6. 点击任何空的单元格。 导航到“数据”选项卡。
  7. 在“sorting和筛选”部分点击“高级”。
  8. select“复制到其他位置”单选button,并根据数据集和条件位置input范围。

选择高级筛选选项

  1. 点击确定。
  2. 导航到“开发人员”选项卡,然后点击“停止录制”。
  3. 将该button重命名为“search”。

现在您可以更新search条件并单击searchbutton来更新相邻位置的结果。

更简单的方法是按如下方式组织input数据: 枢轴友好的数据

这个数据集是枢轴友好的。 然后您可以创build数据集的数据透视表。 移动位置和属性字段到报表filter部分,全名到行标签部分和位置到值部分。

请注意全名只是“名”和“姓”的连接值。