2015-04-02 185 views
1

我为预算目的创建了电子表格并设置它,以便每次在我的收入或费用列中添加一些数据时,我的余额列会自动发布重新调整后的值。但是,我的公式似乎只适用于正值(请参阅示例的第4行中的冲突)。以下是我迄今为止的内容,作为B3中的数组公式粘贴并复制下来。减去空白单元格 - Excel

=IF((ISNUMBER(C3:D3)),B2+C3-D3,"") 

如何改善我的公式的“如果真”部分?

enter image description here

回答

1

您遇到的问题是您的if语句将返回false,如果C或D不是数字。如果(c到d是一个数字)意味着只有两个数字都是真的。

如果你想,这样你只能评估数字(而不是把空格为0),那么你可能想使一个或声明:

= IF(OR(ISNUMBER(C3) (如果你没有任何费用或收入前一天/周/任何东西),请注意,如果B2的相对位置缺少数据(如果您没有任何费用或收入前一天/周/任何),那么添加内容时,下一个字段将变为值错误。因此,如果B5因为您没有花费或获得任何收入而为空,那么当您在D6上花费和投入“费用”时,B6将变为#Value。

要解决这个问题,最好不要使用空字符串,而应使用前一个日期的值。如果你想以这种方式使用它,取决于你。

= IF(OR(ISNUMBER(C3),ISNUMBER(D3)),B2 + C3,D3,B2)

+0

所有三个答案是好的,但我把它送给你,因为你花时间提供解释。谢谢。顺便说一句,我永远不会遇到您提到的#值问题,因为我只会在存款或费用发生时更新我的​​工作表。也许应该提到这一点。 – gmorissette 2015-04-02 16:26:29

0

你可以尝试以下方法,应用于B3:

=IF(AND(ISBLANK(C3),ISBLANK(D3)),"",B2+C3-D3) 

这样,你不需要一个数组公式 - 我只是检查是否C3 D3是空白 - 如果是这样,单元格将为空,否则将执行数学。

0

您可以放入一个Or声明,以便如果C3或D3是数字,则相应计算。

=IF(Or(ISNUMBER(C3),ISNUMBER(D3)),B2+C3-D3,"") 
相关问题