Excel中具有索引/匹配的多个列/值

时间:2018-04-28 09:14:19

标签: arrays excel indexing match

我需要从一个表中获取多个列/行/值,这些表匹配excel中的某些条件。

这是一个示例表。

Table

我只需要拉出与H列中的n匹配的值。

我使用这个公式,并得到了正确的结果,但只是在table.i中需要填充所有行。

= INDEX(G13:H21,MATCH($ C $ 29 H13:H21,0),{1,2})

感谢帮助

1 个答案:

答案 0 :(得分:0)

我不明白你为什么写过滤器在你的情况下不起作用。

enter image description here

选择from text/csv选项后,在下一个屏幕中,选择Edit

enter image description here

选择将第一行用作标题

然后,从第2列的下拉箭头中,您可以选择“过滤器”选项,并仅选中n框。

现在,您将拥有一个可用于CSV文件后续迭代的录制查询。

如果您需要过滤多个值,可以导入CSV而不进行过滤,然后针对最初导入的数据执行多个查询。

编辑: 如果选择此方法,则应首先更新外部连接查询。然后Refresh All将更新相关查询。您可以通过仅为该查询选择Refresh on Workbook Open来执行此操作;或者不为它们选择它,而是在Workbook Open上对该外部查询进行刷新。

其他选择:

  • 复制表格并在每次迭代时使用不同的自动或高级过滤器。
  • 你可以使用公式。一个问题是,如果要检查的范围不同,则必须在每次导入后调整公式。使用A1:B9中的数据表和G1中的过滤器值,公式可能如下所示:
Product:  =IFERROR(INDEX(Sheet5!$A$2:$B$9,AGGREGATE(15,6,1/(1/((Sheet5!$B$2:$B$9=$G$1)*ROW(Sheet5!$A$2:$B$9))),ROWS($1:1))-ROW(Sheet5!$A$1:$B$1),1),"")

Validity: =IFERROR(INDEX(Sheet5!$A$2:$B$9,AGGREGATE(15,6,1/(1/((Sheet5!$B$2:$B$9=$G$1)*ROW(Sheet5!$A$2:$B$9))),ROWS($1:1))-ROW(Sheet5!$A$1:$B$1),2),"")  

然后根据需要填写