从更广泛的数据集中返回 excel 中的结果列表

Returning a list of results in excel from a wider dataset

我有一个数据集,并使用 google 工作表和过滤器函数 return 一组基于标准的输出 我的 excel PC 版本不存在该过滤功能 我可以使用什么替代方法来获得相同的输出

数据集:

工作表中使用的公式:

=FILTER(A2:A16,K2:K16="Operations")

输出将是部门运营中的员工姓名列表

如能在 excel 上复制此内容,我们将不胜感激。

作为Harun24hr先生,您提到您需要使用AGGREGATE()功能,因为您的Excel桌面版,无法访问 FILTER() 函数,这意味着您没有使用 Excel 2021O365,因此参考下图的公式,

• 单元格 F2

中使用的公式
=IF(ROWS($F:F2)<=COUNTIF($D:$D,"Operations"),
INDEX($A:$A,AGGREGATE(15,6,(ROW($A:$A)-ROW($A)+1)
/($D:$D="Operations"),ROW(A1))),"")

我使用 COUNTIF() 函数的原因是,它给出了 Operations 部门的员工人数并相应地给出了输出,因此排除了 [=19] 的使用=] 功能 & 使更多 稳健 公式!


但是,这些是为数不多的选择,您也可以尝试,

=IFERROR(
INDEX($A:$A,AGGREGATE(15,6,(ROW($A:$A)-ROW($A)+1)
/($D:$D="Operations"),ROW(A1))),"")

或者,

=IFERROR(
INDEX($A:$A,SMALL(IF($D:$D="Operations",
ROW($A:$A)-ROW($A)+1),ROW(A1))),"")

注意: 使用 SMALL() 功能,您可能需要按 CTRL + SHIFT + ENTER 根据您的 Excel 版本,但是使用 AGGREGATE() 通常不需要!此外,由于我在 Column D 中使用了 Department,您可能需要使用 Column K 调整工作簿中的公式。因此公式将是

=IF(ROWS($A:A2)<=COUNTIF($K:$K,"Operations"),
INDEX($A:$A,AGGREGATE(15,6,(ROW($A:$A)-ROW($A)+1)
/($K:$K="Operations"),ROW(A1))),"")

对于查看这些 post 的其他人,如果您可以访问 excel 的当前版本,则有一个更简单的解决方案。很抱歉听到 Murtaza 说您无法访问当前版本的 Excel。

对于 Google 工作表和 Excel 提供的公式都有效。我正在使用 Excel - Microsoft 365 企业应用程序。 请确保您放置公式的位置有足够的区域展开。

=FILTER(A2:A16,K2:K16="Operations")