excel用自定义函数获取某月中指定日期的数量

时间:2022-05-30 15:32:29 

如果我们要获取某月中指定日期的数量,例如,2009年1月中有几个星期一?用Excel内置的日期时间函数无法解决这个问题。我们可以用自定义函数的方法来解决。按Alt+F11打开VBA编辑器,单击菜单“插入→模块”,在右侧的代码窗口中输入自定义函数:

Function WeekDaysInMonth(iYear As Integer, iMonth As Integer, iDay As Integer)
Dim i, iDaysInMonth As Integer
Dim LastDateInMonth As Date
If iMonth < 1 Or iMonth > 12 Or iDay < 1 Or iDay > 7 Then
WeekDaysInMonth = "错误"
Exit Function
End If
iDaysInMonth = day(DateAdd("d", -1, DateSerial(iYear, iMonth + 1, 1)))
LastDateInMonth = DateSerial(iYear, iMonth, iDaysInMonth)
For i = iDaysInMonth – 1 To 0 Step -1
If Weekday(LastDateInMonth – i, vbMonday) = iDay Then
WeekDaysInMonth = WeekDaysInMonth + 1
End If
Next i
End Function

这个自定义函数有3个整数参数,即年、月和代表星期的数值。最后一个参数用1-7的数值表示星期一至星期日。

使用方法是在单元格中输入

=weekdaysinmonth(年,月,星期数值)

例如要获取2009年12月中星期日的数量,在单元格中输入公式:

=weekdaysinmonth(2009,12,7)

公式结果返回4,表示2009年12月中有4个星期日。另外,输入的参数如果超出范围,如输入“=weekdaysinmonth(2009,12,10)”,最后一个参数超出范围,公式返回“错误”。

标签:函数,星期,自定义,输入,Excel函数
0
投稿

猜你喜欢

  • Excel中如何插入PDF链接

    2022-11-13 17:44:49
  • word怎么另存为pdf?

    2022-02-25 11:36:02
  • excel2013制作饼状图的步骤: 首先打开要制作的excel数据

    2023-08-27 11:52:54
  • 在Word2003中取消Word绘图画布

    2023-03-08 02:42:24
  • 利用Ctrl+enter组合键搞定 批量填充excel合并单元格的序列

    2022-12-20 16:04:19
  • EXCEL复合饼图

    2023-02-01 10:05:51
  • 最新2023年2月CPU性能天梯图高清版

    2023-05-30 08:59:43
  • excel表格里面的图片怎么取出来

    2022-04-01 21:12:58
  • 如何解决 office 2010 打开报错 无法访问您试图使用的功能所在的网络位置

    2023-11-06 12:45:02
  • Word表格中的这些功能很少用却非常牛,第四个方法你肯定没见过

    2022-04-07 19:24:36
  • Excel如何快速删除包含星号(*)的单元格?

    2022-10-18 03:31:56
  • word2007工具栏显示.隐藏标记在哪里?

    2023-11-28 22:17:20
  • 如何批量整理图片?巧用WORD EXCEL批量整理网页图片方法介绍

    2022-07-22 20:52:01
  • Word文档中行间距调整不了怎么办

    2022-07-12 23:17:29
  • Excel2016输入数字变成E+17怎么办?Excel2016关闭科学记数教程

    2023-08-13 00:40:33
  • 如何更正 #NUM! 错误

    2023-08-21 16:12:33
  • Win10搜索栏如何设置百度搜索?Win10搜索栏设置百度搜索的方法

    2022-07-13 10:40:15
  • excel表格中怎么是做导航目录和返回按钮?

    2022-03-09 14:53:04
  • win10鼠标灵敏度怎么调详细教程

    2023-11-09 21:49:52
  • excel如何移动或复制工作表

    2022-12-06 10:59:49
  • asp之家 电脑教程 m.aspxhome.com