首页 > 解决方案 > 在excel中根据条件和日期范围列出所有值

问题描述

示例和结果我希望它是:

在此处输入图像描述

我有三个数据列

客户名称 活动编号和日期

我想绘制与所选日期范围内的客户相关的所有活动编号,如图所示。

结果将从 G7 向下显示。

我需要在 Cell G7 中输入什么 excel 公式才能达到我想要的结果?

标签: excel

解决方案


这是您可以申请的一种选择:

在此处输入图像描述

我使用的公式H2将转换为:

=IFERROR(INDEX($B$2:$B$6,AGGREGATE(15,3,((($A$2:$A$6=$F$4)/($A$2:$A$6=$F$4))*(($C$2:$C$6>=$F$2)/($C$2:$C$6>=$F$2))*(($C$2:$C$6<=$F$3)/($C$2:$C$6<=$F$3))*ROW($A$1:$A$6)),ROWS($H$2:H2))),"")

另一种选择可能是从下到上工作:

{=IFERROR(INDEX($B$2:$B$6,LARGE(($A$2:$A$6=$F$4)*($C$2:$C$6>=$F$2)*($C$2:$C$6<=$F$3)*ROW($A$2:$A$6),ROWS($G$2:G2))-1),"")}

请注意,通过以下方式将其作为数组公式输入CtrlShiftEnter

使用工作表参考,它看起来像:

{=IFERROR(INDEX(Sheet1!$B$2:$B$6,LARGE((Sheet1!$A$2:$A$6=Sheet1!$F$4)*(Sheet1!$C$2:$C$6>=Sheet1!$F$2)*(Sheet1!$C$2:$C$6<=Sheet1!$F$3)*ROW(Sheet1!$A$2:$A$6),ROWS($G$2:G2))-1),"")}


推荐阅读