Excel有两种types的空值时的逻辑公式

我需要在Excel中创build一个公式,将之前的6个单元格的值相加。 复杂的部分是,如果只有空值,总数应该是连字符:“ – ”。 我得到这个工作,但后来意识到有两个可能的空值:连字符和空白。 这是我为连字符创build的公式作为空值。 它的工作是我想要的。 但是随后几个单元格出现了“0”,因为它们将两种types的空值相加。

=IF(OR(K3 ="-",L3 ="-", M3 ="-", N3 ="-",O3 ="-", P3 ="-"), "-", SUM(K3:P3)) 

当我意识到有两个空值,我尝试添加一个AND和另一个OR,但都没有得到预期的结果。

 =IF(AND(OR(K3 ="-",L3 ="-", M3 ="-", N3 ="-",O3 ="-", P3 ="-"), K3 ="",L3 ="", M3 ="0", N3 ="",O3 ="", P3 =""), "-", SUM(K3:P3)) 

关于如何在那里获得“空白”价值的任何想法? 谢谢!

尝试这个:

 =IF(SUMPRODUCT((K3:P3="-")+(K3:P3=""))=COLUMNS(K3:P3)*ROWS(K3:P3),"-",SUM(K3:P3)) 

这是有效地计算任何单元格是数字。 如果它是0,换句话说,如果不存在数字,则返回-否则返回这些值的总和。


或者这个更简洁的公式:

 =IF(SUMPRODUCT(1*(ISNUMBER(K3:P3)))>0,SUM(K3:P3),"-") 

现在过于详细的公式:

 =IF(AND(OR(K3="-",K3=""),OR(L3="-",L3=""),OR(M3="-",M3=""),OR(N3="-",N3=""),OR(O3="-",O3=""),OR(P3="-",P3="")),"-",SUM(K3:P3)) 

那将是对你最初的思考过程的修正。

现在,如果你想要真正安全的一面,并寻找前导和尾随空格,或者只填充空格的单元格,请尝试以下操作:

 =IF(AND(OR(TRIM(K3)="-",TRIM(K3)=""),OR(TRIM(L3)="-",TRIM(L3)=""),OR(TRIM(M3)="-",TRIM(M3)=""),OR(TRIM(N3)="-",TRIM(N3)=""),OR(TRIM(O3)="-",TRIM(O3)=""),OR(TRIM(P3)="-",TRIM(P3)="")),"-",SUM(K3:P3)) 

如果我在道歉中遗漏了括号。

请参阅史考特回答一个更好的更浓缩的公式。 如果列数改变,他更容易扩大(或收缩)。