【问题标题】:Excel (Googel Sheets) formula to find value within range prior to current row onlyExcel(Google表格)公式仅在当前行之前的范围内查找值
【发布时间】:2018-10-02 17:27:09
【问题描述】:
  A|B|C|D|E  
------------------------------------  
#|Splr|Payment|Total|Bill|Balance  
------------------------------------  
1|S1|10,000|10,000| 8,000|2,000  
2|S1|12,000|14,000|15,000|-1,000  
3|S2|10,000|10,000| 9,500|500  
4|S1| 9,000| 8,000| 7,500|500  
5|S2| 8,000| 8,500| 6,500|2,000  

B       Current Payment     
C       B + E (of same supplier (last record in previous rows if any))  
D       Current Bill        
E       Total Bill  

我正在搜索一个公式(C 列中公式的 E 部分)来查找当前供应商到当前行的最后余额


编辑:在实施您提供的公式(稍作修改)后,我面临每个新供应商的#Ref 问题。 我在第 2 行(即第一个数据行)上使用的公式是 "=ArrayFormula(IF(ISNUMBER(INDEX($F1:F$2,MAX(IF(A2=$A1:A$2,ROW($A1:A $2)-1,0)))),$F1,0))" 而在第二行及以后,它是 "=ArrayFormula(IF(ISNUMBER(INDEX($F$2:F2,MAX(IF(A3=$A$2:A2,ROW($A$2:A2)-1,0)) )),$F2,0))" 其中 $F1 被 $F$Row# 替换,$A1 被 $A$RowNo 替换


【问题讨论】:

    标签: google-sheets excel-formula conditional vlookup


    【解决方案1】:

    下面的公式,将查找当前行的供应商,查看之前所有具有相同供应商的行,最低行(当前行的前一行)具有相同的供应商,然后返回余额(来自列的值E)

    在此示例中,公式将进入第 6 行数据,或者在考虑表格标题后的电子表格的第 7 行。

    这也是一个数组公式,这意味着您必须将其粘贴到单元格中,然后点击ctrl+shift+enter 提交公式。

    =INDEX($E$2:E6,MAX(IF(A7=$A$2:A6,ROW($A$2:A6)-1,0)))
    

    然后,您可以将该单元格复制并粘贴到您的表格中。

    【讨论】:

    • 感谢您的回复。但是我仍然面临一些问题。
    • 我已经用屏幕截图和更多描述更新了问题。
    • 它给出了错误,因为你试图索引-1,它不存在。在 excel 中,您只需添加 IFERROR 语句以生成 {=IFERROR(INDEX($E$2:E6,MAX(IF(A7=$A$2:A6,ROW($A$2:A6),0))-1),0)},这意味着如果没有更早的供应商条目,公式将假定他们的余额为 0 美元。我相信谷歌文档有类似的语法。 =IFERROR( [insert working formula] , 0) 应该会产生所需的行为。
    • 感谢@Christopher 的帮助,但不幸的是它并没有解决我的问题。
    • 幸运的是,我已经使用 INDIRECT() 解决了我的问题。我使用的公式是 {=ArrayFormula(IFERROR(LOOKUP(2,1/(INDIRECT("A2:A"&ROW()-1)=A7),INDIRECT("E2:E"&ROW()-1)) ,0))}
    【解决方案2】:

    幸运的是,我已经使用 INDIRECT() 解决了我的问题。我使用的公式是 {=ArrayFormula(IFERROR(LOOKUP(2,1/(INDIRECT("A2:A"&ROW()-1)=A7),INDIRECT("E2:E"&ROW()-1)) ,0))}

    这里 INDIRECT() 用于强制条件范围到当前单元格的前一行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-28
      • 1970-01-01
      • 2012-09-08
      • 1970-01-01
      相关资源
      最近更新 更多