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)”,最后一个参数超出范围,公式返回“错误”。
猜你喜欢
- 用链接的方式,在WORD里面输入声音的存放路径。声音在文档中一般作为批注,在文档中插入声音的步骤如下:(1)打开【自定义】对话框,在【类别】
- wps中excel表格固定某一行方法。现在用office办公软件的人很多,尤其是会计用wps中的excel很多,那么wps中的excel表格
- Excel中的公式该如何批量修改呢?对于新手来说还是有一定难度,怎么办?下面是由小编分享的excel 批量修改公式的方法,希望看完本教程的朋
- 如何在Word 2013目录大纲中输入主题?Word 2013中的大纲由主题和子主题组成。主题是您的主要想法,子主题描述了详细信息。您应该通
- 在word文档中如何正确选用不同的视图模式?很多朋友都不是很清楚,所以下面小编就为大家详细介绍一下,不会的朋友可以参考本文,一起来看看吧视图
- 本文介绍的不是在Excel中进行操作的技巧,而是利用“外部”力量来快速地完成我们的任务。有时候,我们需要将同一文件夹中的多个CSV文件或TX
- 两篇Word文档,在段落格式中都已经设置了单倍行距,但是这两篇Word文档的行距明显是不一致的?遇到这个问题该怎么解决?其实很简单就是页面设
- 通过使用word样式设置可以快速的对文档进行排版,大大提高工作效率,那么Word文档的样式和格式怎么设置?下面小编就为大家介绍Word文档排
- 当win10系统出现出现了一些原因不明的故障时,在可以正常进入系统的情况下,可以采用恢复出厂设置的方法还原系统。下面就是win10还原系统的
- Word是一款我们比较常用的文档编辑软件,使用的用户也不少,但我们在使用的过程中总是会遇到一些不熟悉的地方,例如有的用户不清楚如何使用Wor
- 今天我们介绍的是多个单元格内容的合并,可能大家遇到单元格内容的拆分比较多一些,单元格合并也有一定的用途,比如电商系统里面的省市县区是分列显示
- 在Excel中经常需要用到密码进行对Excel的保护,但也有忘记密码的时候,这个时候就需要我们利用点小技巧进行解密了。下面是小编带来的关于如
- 首先要搞清楚Word中标记显示为“向下小箭头”是干嘛用的?下图中红色圈选的标记。 这个标记称之为手动换行符。我们可以理解成是在一
- 返回大于等于 0 及小于 
- 由于MathType简单易学,并且编辑出来的公式符号国际出版要求,因此越来越多的人在发表期刊论文时用MathType来写公式。但是在使用Ma
- 怎么在Excel中计算带单位数字?想要在Excel中计算带单位数字如何设置呢,接下来让我们一起来学习吧怎么在Excel中计算带单位数字?Ex
- 一、直接定位法先在表格的最后增加一个辅助列。在该列的第一行的单元格中输入数字“1”,然后在第二行的单元格中输入公式“=1/0”,回车后会得到
- 当我们使用电脑win10操作系统时,可能会遇到电脑显示蓝色屏幕并提示错误代码0x0000098的情况。关于这样的问题小编觉得可能是由于我们电
- excel中怎么快递拆分数据?excel表格中有一组数据,现在想拆分成两组数据,该怎么办呢》今天我们来看看两种解决办法,一种是快捷菜单法,另
- 在电脑中,有许多功能都是我们经常使用到的,但是在打开的时候并不是很好打开,例如控制面板功能。那么在Win10系统我们要怎么快速的打开呢?下面