避免在IF中使用双重相同的参数

时间:2019-07-05 10:41:03

标签: if-statement google-sheets number-formatting google-sheets-formula

此图显示了一个预算,其中void FamilyFree( struct Family *fam ) { free( fam ); } void StudentFree( struct Student *student ) { if ( student ) { FamilyFree( student->fam ); free( student ); } } void CollegeFree( struct College *college ) { if ( college ) { for ( int i = 0; i < MAX_STUDENTS; ++i ) StudentFree( college->Students[i] ); free( college ); } } void SystemFree( struct System *sys ) { if ( sys ) { for ( int i = 0; i < MAX_COLLEGES; ++i ) CollegeFree( sys->Colleges[i] ); free( sys ); } } YearlyQuartly等的值被划分为每个月的值,然后求和:

enter image description here

如果未键入任何内容,那么我不想看到Monthly。相反,我只希望该字段保持空白。如第4行所示。

因此,我使用0,首先检查计算是否为零,IF。如果不是,则显示A2/12+B2/3+C2>0的结果;否则,什么都不会显示:A2/12+B2/3+C2

" "

我的问题是,是否可以避免在公式中进行两次计算? =IF(A2/12+B2/3+C2>0 ; A2/12+B2/3+C2 ; " ") 被写两次。在我的实际场景中,我有一些相当大的计算,而且看起来很乏味且容易出错,当我必须在计算中修复某些内容时,我必须复制/粘贴它,因此公式中的两个地方都相同

是否有更聪明的方法来实现这一目标?一种更聪明的计算方法却避免了零情况?一种不包括重复计算的方法?

2 个答案:

答案 0 :(得分:2)

我认为这里最简单的方法是根本不使用公式或IF语句。我建议使用数字格式设置方法,该方法可让您以不同的方式显示值。 您可以在menu format > number > more formats > custom number format中找到它,然后像这样使用它:

#,##0.00_);"("#,##0.00")";""_)

答案 1 :(得分:2)

使用IF的方法是不可避免的,但是有许多不同的方法,例如:

=REGEXREPLACE(""&(A2/12+B2/3+C2); "^0$"; )

0