示例工作表链接:https://docs.google.com/spreadsheets/d/16huMKzeqbg3gho5klvRj91878H1ZARIs4F9RVRwE9M0
标签:第45-48周
我将这个arrayformula设置为从另一个选项卡中提取$金额数据:
单元格F42:
=IFERROR(IF(value(F4) = value(Settings!$B$26),ArrayFormula(INDEX(FullReport!$A:$A,SMALL(IF("Labour Cost"=FullReport!$A:$A,ROW(FullReport!$A:$A)+1),1))),""),0)
如果该值为空,则保留空白字段。如果值大于$ 0.00,我设置了另一个公式来读取此数据
单元格D38:
=SUM(((IF(C42 > 0, C42,C41)) + (IF(D42 > 0, D42,D41)) + (IF(E42 > 0, E42,E41)) + (IF(F42 > 0, F42,F41)) + (IF(G42 > 0, G42,G41)) + (IF(H42 > 0, H42,H41)) + (IF(I42 > 0, I42,I41))))+B39
不幸的是,似乎在单元格F42中生成的空白字段“”正在使单元格D38注册为大于$ 0.00的值,并抛弃了预期的结果。
正在寻找解决方法,谢谢您的协助。
答案 0 :(得分:1)
如果运行best = probabilities[0]
best_image = image_names[0]
for index, prob in enumerate(probabilities):
if prob > best:
best = prob
best_image = image_names[index];
,则输出为空白单元格,因此所有与arrayformula有关的问题都应丢弃。
另一方面,有=IF(F42 > 0, F42, F41)
会产生=IF(D42 > 0, D42, D41)
,因此在您的FALSE
中,共有4个值: B39 + C41 + D41 + E41 产生SUM
(请参见红色表格)
如果您希望总和排除 D41 值,则您的$5,571.08
公式应为:
IF
=IF((D42=0)+(D42=""), D42, D41)
符号充当+
或者您可以使用:
OR