百分位数公式仅限于在单独工作表中的数组中查找值

问题描述 投票:0回答:1

我在工作表 1 中有一个数据集,其中数据形成一个长的垂直滚动列表,即

A            B            C        D
Location     Param        Value    Date
L1           Conductivity 1,250    01/02/2019
L2           Conductivity 850      01/02/2019
L1           Chloride     224      01/02/2019
L3           Conductivity 1,900    01/02/2019
L4           Chloride     450      01/02/2019
L4           Conductivity 1,100    01/02/2019
G1           Conductivity 1,250    01/02/2019
G2           Conductivity 1,150    01/02/2019
G3           Conductivity 1,050    01/02/2019
L1           Conductivity 1,299    30/02/2021
L2           Conductivity 857      30/02/2021

然后,在单独的工作表中,我有一个“查找列表”,显示所有唯一位置以及一些其他数据库信息,即

A            B            C
Location     Loc_group    Matrix
L1           Leachate     Water
L2           Leachate     Water
L3           Leachate     Water
L4           Leachate     Water
G1           Groundwater  Water
G2           Groundwater  Water
G3           Groundwater  Water

再次在单独的工作表中,我执行一些统计(第三个工作表的单元格 D1 中的变量是“电导率”,命名范围“日期”指的是 Sheet1!D:D)。

我一直在使用以下公式根据其他变量计算百分位数,例如限制日期和参数名称,即

=PERCENTILE.INC(IF((Sheet1!B:B=D$1)*(Date>43466)*(Date<45657),Sheet1!C:C),0.95)

上面的公式给出了 2019 年 1 月 1 日至 2024 年 12 月 31 日期间所有电导率值的第 95 个百分位数,无论其位置组 (loc_group) 为何。

我需要公式执行的操作如上所述,但也将其限制为仅第一张表中的值,这些值与第二张表 B 列中的 Loc_group 标准(“渗滤液”)相匹配。

理想情况下,这将在公式中执行(但如果它真的很复杂,我愿意使用 VBA)。

excel excel-formula percentile
1个回答
0
投票

这里/截图参考:

=LET(x_,FILTER(Table1[Value],--ISNUMBER(MATCH(Table1[Location],FILTER(Table2[Location],--(Table2[Loc_group]=N4)),0))*(Table1[Date]<=M4)*(Table1[Date]>=L4)*(Table1[Param]=K4)),z_,PERCENTILE(x_,O4),z_)

p-ile with multiple constraints


这里:

  • 允许指定/改变 Dt_lower/Dt_upper(下/上 dt 边界 resp)[根据需要用静态值覆盖]
  • 对于 p-ile 也是如此(可以将 req/before 指定为 0.95 static)

备注:

  • 2019 年 2 月 30 日? 假设 w/c 03/YY(2 月 28 或 29 天!☺)
  • 假设 Office 365 兼容 Excel:与
  • 相同

JB-007 ̿̿ ̿̿ ̿̿ ̿’̿’\̵͇̿̿\З= ( ▀ ͜͞ʖ▀) =Ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿̿ ̿̿

© www.soinside.com 2019 - 2024. All rights reserved.