1 CEILING函数
公式=TEXT(CEILING(MONTH(A2)/3,1),'[dbnum1]第0季度')
MONTH(A2)/3得到以下一组数字
0.333333333
0.666666667
1
1.333333333
1.666666667
2
2.333333333
2.666666667
3
3.333333333
3.666666667
4
然后用CEILING沿绝对值增大的方向向上舍入为最接近的指定基数的倍数,这里的第二参数是1,即向上舍入到1的倍数的数字。当然,也可以用ROUNDUP等其他函数。
最后嵌套TEXT函数,使CEILING得到的数字转换成汉字格式显示季度。
2 LEN函数
公式=TEXT(LEN(2^MONTH(A2)),'[dbnum1]第0季度')
LEN是文本函数,怎么和日期扯上关系了呢?我们用辅助列E2=2^MONTH(A2)往下复制12行,得到如下数字
2
4
8
16
32
64
128
256
512
1024
2048
4096
仔细观察,这些数字的长度正好符合四个季度的规律,嵌套LEN就可以轻松得到四个季度的数字,最后嵌套TEXT转换格式。
3 LOOKUP函数
公式=TEXT(LOOKUP(MONTH(A2),{1,4,7,10},{1,2,3,4}),'[dbnum1]第0季度')
用MONTH转换的月份数字作为LOOKUP第一参数,在第二参数{1,4,7,10}中查找小于等于查找值的最大值,返回第三参数对应的数字匹配季度,最后嵌套TEXT转换格式。
4 VBA代码
Sub 季度()
For i = 2 To 13
If Month(Cells(i, 1)) < 4 Then
Cells(i, 4) = '第一季度'
ElseIf Month(Cells(i, 1)) < 7 Then
Cells(i, 4) = '第二季度'
ElseIf Month(Cells(i, 1)) < 10 Then
Cells(i, 4) = '第三季度'
Else
Cells(i, 4) = '第四季度'
End If
Next
End Sub
用MONTH取得日期列中月份的数字做逻辑对比,条件满足<4返回第一季度,条件满足<7返回第二季度,条件满足<10返回第三季度,否则返回第四季度。
好了,今天的分享就是这些,小伙伴们下载示例文件动手练一练,印象会更深刻。
图文制作:心电感应
联系客服