我正在研究以下公式:
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点和第2点的公式,但我的公式未能满足第3点。
答案 0 :(得分:1)
我假设要求包括需要将单元格A1
设置为&#34; Semi&#34;并A2
设置为&#34; Japan&#34;。为简洁起见,如果这些声明适用于您所述的所有三种情况,则可以将其移至外部if
声明中。
看起来你差不多正确,但尝试以稍微不同的方式看待权利要求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开始出现问题。