电子表格 所以基本上我正在构建一个表来监控我的 NW,我的问题很简单,我需要 2023 列来适应该行的最后一个数字,对于收入,我只是对值进行求和,但例如我的总金额每个月的银行账户都不同,我只需要 2023 列来跟踪它,我更新每个月的 31。 使用屏幕截图中可以看到的公式,我遇到了一些问题,如果我输入数字没问题,如果该值是由其他公式定义的,则不会显示。有什么解决办法吗? 谢谢
我尝试了 =INDEX(X:Y;1;COUNTA(X:Y)) 但如果行中的最后一个数字是由其他公式生成的,它不会更新。
您尚未显示 Jan-Dec 列中的哪些公式会导致您出现问题。如果公式生成值 0,以防您不希望它们计数,您可以使用
countif
将其过滤掉:
=INDEX(D13:O13,1,COUNTIF(D13:O13,">0"))
与您的解决方案相同,这仅在按顺序填充列时有效 - 如果每行中没有间隙,例如一月和三月已填满,二月为空白。 如果您需要更通用的解决方案,您可以使用一系列嵌套的
if(isblank()
。这是前三个月的示例,以了解一下:
=INDEX(D13:O13,1,IF(ISBLANK(F13),if(ISBLANK(E13),1,2),3))
您可以使用此公式查找范围 D2:O26 中每行的最后一个值。根据需要进行调整!
=BYROW(D2:O26,LAMBDA(e,XLOOKUP(1,INDEX(1/(e<>"")),e,,0,-1)))
说明:
BYROW
在范围的每一行中创建一个数组公式。对于每一行(此处表示为 e
),将应用指定的 lambda 函数。INDEX(1/(e<>""))
返回一个数组,其中单元格非空的地方带有 1
,空单元格则带有 #N/A
。XLOOKUP
查找 search_mode
返回的数组中最后一次出现 1(第一个参数)的索引(参数 -1
设置为 INDEX
),并返回该行中的相应值。