Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Excel中正确设置此嵌套IF函数的格式?_Excel_Function_Date - Fatal编程技术网

如何在Excel中正确设置此嵌套IF函数的格式?

如何在Excel中正确设置此嵌套IF函数的格式?,excel,function,date,Excel,Function,Date,如果单元格B2有格式为mm/dd/yyyy的日期,我试图使函数的输出为0或1 比如说, 我有两个专栏。第一列称为“OUT”,第二列称为“AMOUNT OUT”。 所以我想弄清楚的是:如果有单元格,我可以用什么函数来读取“out”列 在该列中,有一个日期写在它们里面——如果它们有日期——我需要函数输出一个1 输入“金额输出”。如果没有日期,“金额”应该是0 我尝试在“AMOUNT OUT”的内部编写这个公式=CONCATENATE(如果(B2=“DATEVALUE()”、“1”、“0”) B2单元

如果单元格B2有格式为mm/dd/yyyy的日期,我试图使函数的输出为0或1

比如说,

我有两个专栏。第一列称为“OUT”,第二列称为“AMOUNT OUT”。 所以我想弄清楚的是:如果有单元格,我可以用什么函数来读取“out”列 在该列中,有一个日期写在它们里面——如果它们有日期——我需要函数输出一个
1
输入“金额输出”。如果没有日期,“金额”应该是
0

我尝试在“AMOUNT OUT”的内部编写这个公式
=CONCATENATE(如果(B2=“DATEVALUE()”、“1”、“0”)
B2单元格是“OUT”单元格。
日期值不起作用,因为它要求指定日期,我需要它是格式为mm/dd/yyyy的任何日期

我是否使用了正确的功能?

您可以尝试以下方法:

If(ISERR(DATEVALUE(TEXT(B2,"mm/dd/yyyy")));"1";"0")
说明:

  • Text(B2,“mm/dd/yyyy”)
    -仅当值实际上是日期时才需要将其转换为字符串(使用首选格式)
  • Datevalue(…)
    -将文本转换为日期
  • ISER(…)
    -检查其中的值是否为错误(如果文本为无效日期,则为错误)

内置函数可能会很棘手。我可以想出一种适用于许多日期的方法,但当你说2017年10月1日时,它就会中断(可能是1月10日或10月1日)。VBA是一个选项吗?编辑:嗯,使用VBA也可能很棘手。再说一遍,你怎么知道
2017年10月1日
,或者
2017年6月4日
mm/dd/yyyyyy
或者
dd/mm/yyyyyy
…我感谢你的回复,VBA与否,我不介意。如果有任何问题,请告诉我。不过,当我输入此f时,谢谢你的明确解释函数,它给了我“这个公式有问题。”错误。我只是简单地复制并粘贴了它,这会破坏它吗?Excel如何知道某些日期的日期是否输入为
dd/mm/yyyy
,例如2017年3月10日?可能是10月3日或3月10日。可能是我放的逗号而不是分号?此消息通常是打字错误,缺少括号之类的。其他e通常是在您的计算机上配置的固定日期模式。如果您使用的是英语版的美国excel,它很可能是
mm/dd/yyyy
,如果您使用的是葡萄牙语版的巴西excel,您将拥有
dd/mm/yyyy
。这不仅取决于excel配置,还取决于您的Windows配置。这很有效很明显!我想要的就是,我所要做的就是,用逗号替换分号,它就成功了!谢谢。