解决日期周期公式

时间:2015-08-11 21:18:54

标签: excel date

我正在研究以下公式:

javax.smartcardio

基本上我正在努力为我遇到的问题找到最好的公式。在我的电子表格的单元格=IF(AND(A1="Semi",A2="Japan",MONTH($A$3)<4),DATE(YEAR($A$3),3,31),IF(AND(A1="Semi",A2="Japan",MONTH($A$3)>3),DATE(YEAR($A$3),9,30))) 中,我今天的日期为A3。所以我们假设今天的日期是2015年1月1日。我希望公式做的是:

  1. 如果今天的日期是2015年3月31日之前,那么我希望这个公式能够给我2015年3月31日。
  2. 如果今天的日期是2015年3月31日,那么我希望这个公式能够在2015年9月30日给我。
  3. 但是,如果今天的日期是2015年9月30日,那么我希望公式在下一年(即2016年3月31日)给我3月31日。
  4. 我制定了满足第1点和第2点的公式,但我的公式未能满足第3点。

2 个答案:

答案 0 :(得分:1)

我假设要求包括需要将单元格A1设置为&#34; Semi&#34;并A2设置为&#34; Japan&#34;。为简洁起见,如果这些声明适用于您所述的所有三种情况,则可以将其移至外部if声明中。

看起来你差不多正确,但尝试以稍微不同的方式看待权利要求2:

  1. 如果今天的日期是2015年3月31日之后和2015年9月30日之前,那么我希望这个公式能够在2015年9月30日之前给我。
  2. 您在2015年3月31日之后处理&#34;&#34;已经在if语句中的要求(如果它是之前的 3月31日,那么你永远不会输入if语句的FALSE部分!)。现在您需要做的就是在2015年9月30日之前处理&#34;&#34;要求,您可以通过选择月份小于10的所有日期来完成。

    第三个也是最后一个要求将出现在下一个if语句的FALSE部分。如果它不是之前 2015年9月30日,它必须是之后 2015年9月30日。您只需在年份中添加1并创建3月31日的新日期, 2016。

    =IF(AND(A1="Semi",A2="Japan"),IF(MONTH(A3)<4,DATE(YEAR(A3),3,31),IF(MONTH(A3)<10,DATE(YEAR(A3),9,30),DATE(YEAR(A3)+1,3,31))),"<Error>")
    

答案 1 :(得分:0)

EDATE function可以有条件地将您的财政日期提前6个月。

=IF(AND(A1="Semi", A2="Japan"), IF(MONTH($A$3)<4, DATE(YEAR($A$3), 3, 31), EDATE(DATE(YEAR($A$3), 9, 30), (MONTH($A$3)>9)*6)), "not Semi and Japan")

可能需要添加一些年份比较。该公式目前看起来似乎在明年1月从A3开始出现问题。