【问题标题】:Excel [Standard Deviation] of range filtered against another range针对另一个范围过滤的范围的 Excel [标准偏差]
【发布时间】:2020-12-17 15:27:08
【问题描述】:

首先 - 如果有帮助,请不要使用 VBA!

我正在尝试获取一系列单元格的标准偏差,并针对第二个范围进行过滤(我想在其中列出特定的排除项。

我有一个表格中的数据,其中包含Batch NoDateWeight 的列,并且可以通过以下方式轻松过滤一系列日期:

=STDEV.S(IF(Table1[Date]>=Start_Date,IF(Table1[Date]<=End_Date,Table1[Weight])))

(作为数组公式输入)我还可以过滤掉特定的批号,例如:

=STDEV.S(IF(Table1[Date]>=Start_Date,IF(Table1[Date]<=End_Date,IF(Table1[Batch No]<>7097,Table1[Weight]))))

我想要做的是有一个多个Batch No 的列表要排除,并根据需要添加到此列表中。我试图通过列出一个范围中的排除项并将一个单元格作为这个范围的数组,然后使用这个单元格作为过滤器来做到这一点,例如C2 =7097C3 =7085D3 {=C2:C3} 并将上面的公式指向D3 而不仅仅是7097,但没有运气。

如有任何帮助,请不胜感激。

【问题讨论】:

    标签: excel excel-formula array-formulas


    【解决方案1】:

    使用匹配:

    =STDEV.S(IF(Table1[Date]>=Start_Date,IF(Table1[Date]<=End_Date,IF(ISERROR(MATCH(Table1[Batch No],$C$2:$C$3,0)),Table1[Weight]))))
    

    根据一个人的版本,这可能需要在退出编辑模式时使用 Ctrl-Shift-Enter 而不是 Enter 来确认。

    【讨论】:

    • 感谢@Scott - 一个非常优雅的解决方案,而且我自己永远也想不到!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-18
    • 2018-09-09
    • 1970-01-01
    相关资源
    最近更新 更多