获取符合时间序列条件的所有值的列表

获取符合时间序列条件的所有值的列表

我有一个想要分析的时间序列。我想提取一些符合特定标准的数据。但是,我还需要确保公式查看最新数据(即添加到时间序列的最新列)。

要提取符合条件的数据列表,我可以使用提供的答案这里

为了确保 Excel 可以在公式中包含新列,我可以使用offset此处提到的函数回答

然而,我很难使用这两个答案来创建我想要的公式。

期望输出:

Names   24/03/2019   25/03/2019     Criteria     Date                   
Name 1       A            A               A      25/03/2019              
Name 2       A            B
Name 3       B            A
Name 4       C            A
Name 5       A            A

在上面的例子中,当今天的列添加到时间序列时,我希望公式将今天的列中包含字母“A”的名称列表从 3 个名称更改为 4 个名称。

答案1

虽然这里可以使用“OFFSET”函数,但它是一个易失性函数。这意味着每次工作表上的内容发生变化时,即使对公式没有影响,它也会重新计算。作为替代方案,我建议使用INDEX非易失性公式,只有当影响它的某些内容发生变化时才会重新计算。

假设您的数据从 B2 开始(B2=姓名)。另一个假设是,第 2 行中除了日期之外不能有数字,并且日期以 Excel 格式存储,而不是文本。

在您想要显示列表的空白单元格中使用以下公式并复制下来。我会一直复制到您的姓名列表,以排除所有姓名都是有效选择的可能性:

=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW($B$3:$B$7)/(INDEX($C$3:$D$7,0,MATCH($F$3,$C$2:$D$2,0))=$E$3),ROW(A1))),"")

调整范围以满足您的需要。注意哪些引用需要锁定 ($) 以及哪些引用需要自由更改。

波克

相关内容