【问题标题】:Lookup Array Formula to calculate difference查找数组公式以计算差异
【发布时间】:2017-04-16 20:47:25
【问题描述】:

希望建立一个明显超出我理解范围的ArrayFormula,所以请多多包涵。我使用下面的公式来获取Last Non-Empty Cell 的值并减去它上面的单元格的值。

=ArrayFormula((LOOKUP(2,1/(NOT(ISBLANK(Sheet3!A:A))),Sheet3!A:A))-INDEX(Sheet3!A:A, CountA(A:A)-2,1))

我想使用HLOOKUP 函数来匹配垂直列表中的名称,以识别相应列中的最后一个非空单元格。我可以使用下面的公式从“名称”列中获得正确的值,但不确定如何将其集成到 ArrayFormula 中。

=HLOOKUP(A4,Sheet3!A1:E30,1,FALSE)

正确的公式应检索包含'Data Test'!A:A 中名称的列的最后一个非空白单元格中的值

请参阅样本表以供参考:Data Test

【问题讨论】:

    标签: google-sheets array-formulas


    【解决方案1】:

    按照我理解数据的方式,假设每列中的范围是连续的是合理的。

    我们还必须分别计算每个人的补贴变化,因为其中一些公式不适用于 ArrayFormulae。

    此公式查找相应列的最后一行和倒数第二行并将两者相减,如果有错误(因为我们尝试为 Eric 减去一个字符串),我们将使用最后一个也是唯一的值。

    =IFERROR(
    OFFSET(
      Sheet3!$A$1, 
      COUNTA(OFFSET(Sheet3!$A$1, 0, MATCH($A2, Sheet3!$A$1:$E$1, 0) - 1, 1000)) - 1, 
      MATCH($A2, Sheet3!$A$1:$E$1, 0) - 1) - 
    OFFSET(
      Sheet3!$A$1, 
      COUNTA(OFFSET(Sheet3!$A$1, 0, MATCH($A2, Sheet3!$A$1:$E$1, 0) - 1, 1000)) - 2, 
      MATCH($A2, Sheet3!$A$1:$E$1, 0) - 1),
    OFFSET(
      Sheet3!$A$1, 
      COUNTA(OFFSET(Sheet3!$A$1, 0, MATCH($A2, Sheet3!$A$1:$E$1, 0) - 1, 1000)) - 1, 
      MATCH($A2, Sheet3!$A$1:$E$1, 0) - 1))
    

    【讨论】:

    • 谢谢@Robin,但我希望使用一个公式,让我不必为每个名字单独计算
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多