我们可以在“;如果为假,则为值”;Excel中IF函数的定义?

我们可以在“;如果为假,则为值”;Excel中IF函数的定义?,excel,excel-formula,Excel,Excel Formula,我有以下公式: =IF(OR(YEAR(Q2)=2020,YEAR(Q2)=2000),MONTH(Q2),0) 但是我想在值_if_false中使用公式,而不是0 我想在value_if_false字段中使用以下公式,该字段在单独使用时效果良好 =VALUE(LEFT(Q2, SEARCH("-",Q2,1)-2)) 因此,我的最终公式如下: =IF(OR(YEAR(Q2)=2020,YEAR(Q2)=2000),MONTH(Q2),VALUE(LEFT(Q2, SEARCH("-",Q2

我有以下公式:

=IF(OR(YEAR(Q2)=2020,YEAR(Q2)=2000),MONTH(Q2),0)
但是我想在值_if_false中使用公式,而不是0

我想在value_if_false字段中使用以下公式,该字段在单独使用时效果良好

=VALUE(LEFT(Q2, SEARCH("-",Q2,1)-2))
因此,我的最终公式如下:

=IF(OR(YEAR(Q2)=2020,YEAR(Q2)=2000),MONTH(Q2),VALUE(LEFT(Q2, SEARCH("-",Q2,1)-2)))
但是我得到了
#值当我处于值\u if\u false条件下时

你知道怎么了吗


谢谢

您的工作示例引用单元格A1,而if()语句中的函数引用单元格Q2

Q2是否包含您要测试的“-”,因为如果不是,它将给出一个错误,您必须处理这个错误-iferror()很好

尝试:

请尝试:

=IFERROR(IF(OR(YEAR(Q2)=2020,YEAR(Q2)=2000),MONTH(Q2)),VALUE(LEFT(Q2, SEARCH("-",Q2,1)-2)))

问题是
或(年份(Q2)=2020,年份(Q2)=2000
在计算其他任何内容之前抛出错误,因为
1-0
之类的内容不是日期,不能通过excel自动转换为日期。

My bad。最后的公式引用正确的单元格(Q2)。是“-”已在所有剩余单元格中使用。我编辑了我的初始帖子。您可以共享一些您遇到问题的测试数据吗?理想情况下,一个公式没有任何问题,另一个公式第一次不起作用(给出0)但是,当第二个公式单独使用时,它会工作。我怀疑您同时使用日期值和文本值。在第一种情况下,如果年份是2000年或2020年,第一个公式工作正常,但如果年份是2000年或2020年,则会给出0,但在这种情况下,第二个公式应该会给出一个错误。如果日期是文本值,则第一个公式会导致一个错误(不处理任何正确或错误的返回值,因为年份(文本)本身就是一个错误),而第二个应该可以正常工作。公式使用的值有:1-Jan、3-Mar、2-Feb、2-Sep等。其他值有:0-1、0-0、13-0等
=IFERROR(IF(OR(YEAR(Q2)=2020,YEAR(Q2)=2000),MONTH(Q2)),VALUE(LEFT(Q2, SEARCH("-",Q2,1)-2)))