【问题标题】:Excel function to find nth to last non blank value in a rowExcel函数查找连续第n个到最后一个非空白值
【发布时间】:2020-06-02 13:10:19
【问题描述】:

我有一张按月排列的血压 (BP) 数据表。

我有兴趣将每个患者的最后三个 BP 值存储在一个范围内,每个值都分配了一行。请注意,有些月份没有血压读数,因此数据集中有空白。

血压的范围是BB:BL

我找到了最后一个公式:

=LOOKUP(2,1/(ISNUMBER(BB3:BL3)),BB3:BL3)

倒数第二个:

=LOOKUP(9.99E+307,BB3:INDEX(BB3:BL3,MATCH(9.99E+307,BB3:BL3)-1))

但我无法修改上面的公式来找到倒数第三个非空白 BP 值。

感谢任何建议!

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    要查找倒数第三个非空值,请尝试使用 INDEX+AGGREGATE 函数

    1] 对于垂直放置的数据范围

    C2,输入公式:

    =INDEX(A1:A100,AGGREGATE(14,6,ROW(A1:A100)/(A1:A100<>""),3))
    

    2] 对于水平放置的数据范围

    B3,输入公式:

    =INDEX(1:1,AGGREGATE(14,6,COLUMN(1:1)/(1:1<>""),3))
    

    2.a] 如果数据范围放置在指定位置,例如BB3:BH3

    公式变为,B3 公式:>>

    =INDEX(BB3:BH3,AGGREGATE(14,6,COLUMN(BB3:BH3)-COLUMN(BA3)/(BB3:BH3<>""),3))
    

    备注:列号必须调整为COLUMN(BB3:BH3)-COLUMN(BA3),变为{1,2,3,4,5....}

    【讨论】:

    • 谢谢@bosco_yip,我认为这是有道理的。但是,与其查看整行,不如查看感兴趣的范围,并返回同一行中倒数第三个值? =INDEX(BB3:BH3,AGGREGATE(14,6,COLUMN(BB3:BH3)/(BB3:BH3""),3)) 上面的公式不起作用,但我们可以做些修改吗?出于组织目的,存储在同一行会很方便,但如果不可能,请不要担心。感谢您的洞察力!
    【解决方案2】:

    如果有动态数组公式过滤器,那么:

    =INDEX(FILTER(1:1,1:1<>""),COUNTA(FILTER(1:1,1:1<>""))-2)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-10
      • 2021-10-08
      • 2017-03-10
      • 1970-01-01
      • 2021-06-16
      • 1970-01-01
      • 2021-05-13
      相关资源
      最近更新 更多