分享

根据月份判断季度,不会的小伙伴看过来

 hercules028 2022-04-12

图片

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返回第三季度,否则返回第四季度。

好了,今天的分享就是这些,小伙伴们下载示例文件动手练一练,印象会更深刻。

图文制作:心电感应

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多