是否有与 Google 表格中的 filter() 相同的 Excel 函数?

Joe*_*ish 5 google-spreadsheets microsoft-excel

我有一个名称列表,每个名称都有一个值(C:C、D:D)。我想生成一个新列 (A:A),它只显示具有我想要的值的名称,没有任何空格。

在 Google 表格中,这很简单:

电子表格截图

由于我无法解决的表格存在一些缺点,我正在转向 Excel,并且无法弄清楚如何复制此功能。我最接近的是 MATCH/INDEX,但我一直无法到达那里。我所做的所有研究都指出需要 VB,这是我想避免的。

Sco*_*ner 5

在 Excel 中,必须在期望结果的每个单元格中放置一个公式。因此,简短的回答是,Excel 中没有任何功能可以与表格中过滤器的使用完全匹配。

为此,我喜欢将 INDEX 与 AGGREGATE 一起使用:

=IFERROR(INDEX(C:C,AGGREGATE(15,6,ROW($D$1:INDEX(D:D,MATCH("zzz",C:C)))/($D$1:INDEX(D:D,MATCH("zzz",C:C))<>0),ROW(1:1))),"")
Run Code Online (Sandbox Code Playgroud)

把它放在 A1 中并复制下来,直到你得到空白。如前所述,必须在每个期望返回的单元格中放置一个函数。

在此处输入图片说明