如何在单独的列中添加备注以给出日期范围。例如,我在 A 列中列出了不同的日期,并希望在 B 列中列出以下答案,即
- 如果日期 >= 01/04/2017 且 <= 30/06/2017 答案应为 Q1
- 如果日期 >= 2017 年 7 月 1 日且 <= 2017 年 9 月 30 日,则答案应为 Q2,依此类推。
答案1
答案2
你的问题的答案取决于你的满的要求。
如果 Q 数每 3 个月增加一次(无论哪一年),@Gary'sStudent 的回答会有所帮助(转到 Q5、Q6、Q7...)。唯一的问题是它可以处理的日期范围是有限的。
您可以改进这一点(如下所示)。两种方法都行得通,只是取决于您希望使用哪种方法。
如果我怀疑(您的问题中没有明确说明)您希望从 Q1 到 Q4 然后再回到 Q1,以代表一年的财务季度,我还有第二种方法,如下所示。
@Gary'sStudent 提供的答案的不确定范围版本
让我们分阶段进行......
首先输入日期A 列@Gary'sStudent 提供用于测试目的。
我们需要先找出输入的第一个日期所在年份的第一季度的开始时间。所需的公式为:
=IF(MONTH(MIN(A:A))>=4,DATE(YEAR(MIN(A:A)),4,1),DATE(YEAR(MIN(A:A))-1,4,1))
把这个放进去单元格 D1目前。
现在我们需要计算出开始日期与单元格 D1以及日期单元格 A1
为此我们需要=ROUNDDOWN((DATEDIF($D$1,A1,"M"))/3,0)
(月份数除以 3 - 四舍五入)
输入这个单元格 B1
然后我们需要在开头添加“Q”并加 1 得到 Q 号。
="Q"&ROUNDDOWN((DATEDIF($D$1,A1,"M"))/3,0)+1
现在你可以$D$1
用公式代替单元格 D1. 公式单元格 B1就是现在
="Q"&ROUNDDOWN((DATEDIF(IF(MONTH(MIN(A:A))>=4,DATE(YEAR(MIN(A:A)),4,1),DATE(YEAR(MIN(A:A))-1,4,1)),A1,"M"))/3,0)+1
然后您可以清除单元格 D1
要为您提供给定日期(Q1 到 Q4 然后是 Q1)的年度财务季度编号,您需要嵌套 IF() 语句。分步执行此操作,否则会很复杂。
*****步骤1*****
为了测试目的,请生成每月第一天的日期列表A 列
在细胞内B1输入以下公式:
=IF(OR(A1="",A1=" "),"",IF(AND(MONTH(A1)>3,MONTH(A1)<7),"Q1",""))
如果你在单元格中看到“Q1”B1,抓住单元格右下角的控点并向下拖动,将把渐进公式粘贴到下面的单元格中,结果为日期位于财务季度 1 的 Q1,其他为空白。
*****公式解释*****
第IF()
一句话是
IF(OR(A1="",A1=" "),"",.....)
这什么都没检查或空格在细胞内A1首先。如果有,我们不需要 Q 号。
第一条语句的第二部分IF()
(上面的.....部分)是第二条IF()
语句,即
IF(AND(MONTH(A1)>3,MONTH(A1)<7),"Q1","")
检查单元格中日期的月份A1大于 3(3 月之后)且小于 7(7 月之前)。如果是,则公式将输入“Q1”进入细胞B2
*****第2步*****
要给出第二季度,你需要复制第二个如果()语句并将其粘贴到单元格中公式末尾的双引号上B1,然后修改新的部分以适应。(检查月份 > 6 且 < 10 得到“Q2”)
这意味着在单元格 B2 中您将拥有;
=IF(OR(A1="",A1=" "),"",IF(AND(MONTH(A1)>3,MONTH(A1)<7),"Q1",IF(AND(MONTH(A1)>6,MONTH(A1)<10),"Q2","")))
您可以通过执行之前的操作并将公式拖到下面的单元格上来再次证明这有效。
*****步骤 3*****
除了第三季度,其他季度继续关注,你只需要IF(MONTH(A1)>9,"Q3","")
最后得到的公式将是;
=IF(OR(A1="",A1=" "),"",IF(AND(MONTH(A1)>3,MONTH(A1)<7),"Q1",IF(AND(MONTH(A1)>6,MONTH(A1)<10),"Q2",IF(MONTH(A1)>9,"Q3",IF(AND(MONTH(A1)>0,MONTH(A1)<4),"Q4","")))))
并将公式拖到其余单元格中,将得到以下结果