google-sheets - Excel(Googel Sheets)公式仅在当前行之前的范围内查找值
问题描述
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
解决方案
下面的公式,将查找当前行的供应商,查看之前所有具有相同供应商的行,最低行(当前行的前一行)具有相同的供应商,然后返回余额(来自 E 列的值)
在此示例中,公式将放在第 6 行数据中,或者在考虑表格标题后的电子表格中的第 7 行。
这也是一个数组公式,这意味着你必须将它粘贴到单元格中,然后点击ctrl+shift+enter
提交公式。
=INDEX($E$2:E6,MAX(IF(A7=$A$2:A6,ROW($A$2:A6)-1,0)))
然后,您可以将该单元格复制并粘贴到您的表格中。
推荐阅读
- python - 带有函数的 Python 解释器序列
- python - 查找字符串中子字符串的最佳匹配
- javascript - 带有 useRef 的 ReactJS:聚焦一个可切换的表单
- c# - SQL 序列的单元测试
- python - 如何更改 tkinter 中的图标
- css - 如何使用 flex 和 flex-col Tailwind CSS 在 div 中对齐 div
- node.js - nodejs容器不会连接到redis容器docker-compose
- linux - 即使使用修改过的密钥,openssl 解密也能工作
- python - Python如何使用传递的任意数量的值进行mysql参数化查询
- javascript - javascript相当于python打印?