【问题标题】:If statement is giving too many arguments error如果语句给出了太多参数错误
【发布时间】:2020-03-03 22:20:16
【问题描述】:

我有一个 excel 公式,我必须在其中获取具有日/月/年日期的两列之间的天数差异。只要差异列在其中一个中没有遇到空白日期,该公式就可以正常工作;基本上,如果两个日期列之一为空白,则公式会显示奇怪的数字,例如 344440。

我想用一个 if 语句解决我的问题,该语句适用于一列(列 S,其中一个日期可能为空白的列),但是当我尝试输入该列 Q 时出现各种错误也可以有一个空白单元格(其他日期列)。

谢谢你们。

到目前为止我已经尝试过:

=IF(S14= "","",IF(Q14 = "","",NETWORKDAYS(Q14,S14)),NETWORKDAYS(Q14,S14)) 

或

=IF(S14="","",NETWORKDAYS(Q14,S14), AND(Q14="","",NETWORKDAYS(Q14,S14)))

也试过iferror/ifna,目前没有运气。

【问题讨论】:

  • 您的第一个只需要删除第二个 NETWORKDAYS:=IF(S14= "","",IF(Q14 = "","",NETWORKDAYS(Q14,S14)))

标签: excel if-statement error-handling excel-formula multiple-columns


【解决方案1】:

IF 语句遵循这种通用模式:

=IF(CONDITION, VALUE TO OUTPUT IF CONDITION IS TRUE, VALUE TO OUTPUT IF CONDITION IS FALSE)

我建议使用OR 语句来简化公式,如下所示:

=IF(OR(S14="",Q14=""),"",NETWORKDAYS(Q14,S14))

基本上,OR 首先检查一个或两个相关单元格是否为空白,如果是则输出一个空字符串。如果两个单元格都有值,它将计算NETWORKDAYS。

你的第一个公式也可以,你只需要删除最后一个参数:

=IF(S14="","",IF(Q14="","",NETWORKDAYS(Q14,S14)))

【讨论】:

  • 你更正的公式就像一个魅力!非常感谢。在我结束这个问题之前,我能知道为什么我必须删除最后一个参数吗?再次感谢!!
  • IF 公式只需要三个参数(见我回答的第二行),传递第四个参数会产生你遇到的错误。第一个参数是决定将哪个值作为输出的条件。如果条件为真,第二个参数是您想要的输出值。如果条件为假,第三个参数是您想要的输出值。根本不需要第四个参数,因为您可以使用这个简单的结构涵盖所有情况。
猜你喜欢
  • 2018-12-03
  • 2020-08-28
  • 1970-01-01
  • 2021-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-12
相关资源
最近更新 更多