【发布时间】:2017-03-01 04:06:59
【问题描述】:
我对数组公式真的很陌生。如果列表没有在数组中输入数据或只有 1 个条目,则流程应该是,它显示“添加权重”[总共 7 个点)。一旦在数组中的任何位置输入了两条任意数据,它就会检查数组中的第一个值并减去数组中的最后一个值。
我遇到的这个问题是当数组为空时单元格显示#value 而不是显示“添加权重”。一旦输入数据并正确地从第一个条目中减去最后一个条目,无论它们在数组中的位置如何,该公式都能完美运行。
这会查找数组中的最后一个条目。
LOOKUP(2,1/(1-ISBLANK(D13:D19)),D13:D19))
这会查找数组中的第一个条目。
INDEX(D13:D19,(MATCH(FALSE,ISBLANK(D13:D19),0)))
是不是因为公式被标记为数组?
=IF(COUNTIF(DailyProgress[Change],"")>6,"Add Weight",LOOKUP(2,1/(1-ISBLANK(D13:D19)),D13:D19))-INDEX(D13:D19,(MATCH(FALSE,ISBLANK(D13:D19),0)))
如果有更好的写法,我会全力以赴。
编辑:
在相邻的列中,我让它显示与上一个单元格的变化,如下所示:
=IF([@[Weight (lbs)]]="","",[@[Weight (lbs)]]-D17)
D17 是当前行上方的单元格 [这将在第 18 行输入]。
事实上,如果相邻单元格正上方的单元格是空的,它会将其显示为零并执行“0 - value= -value”所以我们刚刚所做的更改我希望它与最后一个输入单元格进行比较在它之前而不是它正上方的单元格。我知道这需要完全重写。仍在使用D13:D19 数组。
【问题讨论】:
-
1.如果单元格有公式,ISBLANK 将返回 false,即使该公式返回
""。 2. 退出编辑模式时是不是用Ctrl-Shift-Enter而不是Enter? -
数组的列表都是空的,没有公式。我也在做 CTRL+SHIFT+ENTER
-
可能会发布一些测试数据和预期结果。
-
@ScottCraner 刚刚添加了我遇到的情况,我意识到我错过了收到的错误
标签: arrays excel excel-formula