首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在日期范围内添加工作日列的快速方法(Excel-VBA)

在Excel-VBA中,可以使用以下代码来添加工作日列的快速方法:

代码语言:vba
复制
Sub AddWorkdayColumn()
    Dim startDate As Date
    Dim endDate As Date
    Dim currentDate As Date
    Dim workdayCount As Integer
    Dim columnRange As Range
    
    ' 设置起始日期和结束日期
    startDate = DateSerial(2022, 1, 1)
    endDate = DateSerial(2022, 12, 31)
    
    ' 设置起始列
    Set columnRange = Range("A1")
    
    ' 初始化当前日期和工作日计数
    currentDate = startDate
    workdayCount = 0
    
    ' 循环遍历日期范围
    Do While currentDate <= endDate
        ' 判断当前日期是否为工作日(非周末)
        If Weekday(currentDate) <> 1 And Weekday(currentDate) <> 7 Then
            workdayCount = workdayCount + 1
        End If
        
        ' 在当前列中添加工作日数值
        columnRange.Value = workdayCount
        
        ' 移动到下一列
        Set columnRange = columnRange.Offset(0, 1)
        
        ' 增加一天
        currentDate = currentDate + 1
    Loop
End Sub

这段代码会在当前活动的工作表中,从A1单元格开始添加工作日列。它会从指定的起始日期到结束日期循环遍历,并判断每个日期是否为工作日。如果是工作日,则在当前列中添加工作日计数。最后,代码会将列移动到下一列,并增加一天的日期。这样,最终会在工作表中生成一个包含工作日计数的列。

这个方法可以帮助用户快速添加工作日列,方便进行日期相关的计算和分析。在实际应用中,可以根据需要修改起始日期、结束日期和列的位置。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Pandasdatetime数据类型

to_datetime方法把Date转换为Timestamp,然后创建新 ebola['date_dt'] = pd.to_datetime(ebola['Date']) ebola.info()...这一数据可以通过日期运算重建该 疫情爆发第一天(数据集中最早一天)是2014-03-22。...计算疫情爆发天数时,只需要用每个日期减去这个日期即可 获取疫情爆发第一天 ebola['Date'].min() 添加 ebola['outbreak_d'] = ebola['Date'...使用date_range函数创建日期序列时,可以传入一个参数freq,默认情况下freq取值为D,表示日期范围内值是逐日递增 # DatetimeIndex(['2014-12-31', '2015...freq传入参数基础上,可以做一些调整 # 隔一个工作日取一个工作日 pd.date_range('2023-01-01','2023-01-07',freq='2B’) freq传入参数可以传入多个

11310

高级SQL查询技巧——利用SQL改善和增强你数据

在下面的示例中,如果表B表A上当前观察日期前7天之内,我们可以将这些销售量相加并除以7,以获得表A每一行每周滚动平均值: select a.date , a.total_widgets_sold...下面的示例将表B联接到表A上,以将日期回溯7天以获取前一个工作日小部件销售: select a.date , a.total_widgets_sold , b.total_widgets_sold...将表联接到自身上是一种非常灵活方式,可以向数据集添加汇总和计算。 分组功能(例如SUM()和COUNT()与CASE()语句)创造性使用为功能工程,分析报告和各种其他用例带来了巨大机会。...解决此问题一种方法是使用临时表来保存具有特定问题标准初步结果。 例如,SASWORK库中为整个时间范围创建一个小部件销售表,并多次查询该表。...这是R和SQL中如何编码此逻辑方法: ## Example of Nested Logic in R if(shoppers$sales<=0){ print("Error: Negative/No

5.7K30

【SpringBoot2.0系列10】SpringBoot之@Scheduled任务调度实现结语

"*" 代表每隔1分钟触发; ","代表指定分钟触发,比如"10,20,40"代表10分钟、20分钟和40分钟时触发任务 "-" 代表指定范围内触发,比如"5-30"代表从5分钟开始触发到...与{星期}互斥,即意味着若明确指定{星期}触发,则表示{日期}无意义,以免引起 冲突和混乱 "," 代表指定日期触发,比如"1,10,20"代表1号、10号和20号这3天触发 "-"代表指定日期范围内触发...1,10]范围内,每隔2天触发,即1号,3号,5号,7号,9号触发 "L" 如果{日期}占位符如果是"L",即意味着当月最后一天触发 "W "意味着本月内离当天最近工作日触发,所谓最近工作日,...即当天到工作日前后最短距离,如果当天即为工作日,则距离为0;所谓本月内说法,就是不能跨月取到最近工作日,即使前/后月份最后一天/第一天确实满足最近工作日;因此,"LW"则意味着本月最后一个工作日触发...与{日期}互斥,即意味着若明确指定{日期}触发,则表示{星期}无意义,以免引起冲突和混乱 "," 代表指定星期约定触发,比如"1,3,5"代表星期天、星期二和星期四触发 "-"代表指定星期范围内触发

3.5K20

技巧:Excel用得好,天天没烦恼

快速选定不连续单元格 按下组合键“Shift+F8”,激活“添加选定”模式,此时工作表下方状态栏中会显示出“添加到所选内容”字样,以后分别单击不连续单元格或单元格区域即可选定,而不必按住Ctrl键不放...快速增加或删除一 对于那些整天要和Excel打交道的人来说,这个窍门或许能为你节省一点时间。...当你想快速插入一时,键入Ctrl + Shift + ‘=' (Shift + ‘='其实就是+号啦)就能在你所选中那左边插入一,而Ctrl + ‘-‘(减号)就能删除你所选中。 7....不同工作表之间快速切换 不同工作表之间切换,不代表你手真的要离开键盘(可以想象如果你学会了这些酷炫狂拽快捷键,你根本不需要摸鼠标)。...Excel里networkday 函数返回起始日期(start_date)和结束日期(end_date)之间完整工作日数值。工作日不包括周末和专门指定假期。

2K40

取假日后第一个工作日,典型函数嵌套案例!| PQ必练技能

【文末留言赠书】 问题很简单:对有标注是否上班日期表新建一,提取假期(是否上班为0)后第一个工作日(是否上班为1)。...比如,1月1日和1月2日均为假期,它后面的第一个工作日为1月3日,所以1月1日和1月2日后面都填1月3日。 Power Query中解决这个问题也不复杂。...将数据加载到PQ后,添加自定义: 这个公式核心思路是:对整个表(这里基于上一步骤“更改类型”结果)筛选(Table.SelectRows)出“日期”(更改类型步骤里日期)大于“当前行日期”,...且“是否上班”为1内容并取“日期结果,然后通过List.First函数取其中第1个日期。...] and x[是否上班]=1 )[日期] ) else null 其中最难点在于:存在函数嵌套情况下,如何区分不同层级里名称相同内容?

10610

全自动化处理每月缺卡数据,输出缺卡人员信息

大体实现步骤如下: 步骤1:D盘中新建“每月缺卡数据处理“文件夹(已在代码中固定死了,必须建该文件夹)。 步骤2:把处理考勤缺失exe文件和原始数据文件放到step1新建文件夹中。...填报时间指日志填报时间,日期指日志实际日期。若为考勤打卡,两个日期都填实际打卡日期即可。 若为考勤打卡,今日完成工作可置为空。...1 导入库 首先导入本文需要加载库,如果你有些库还没有安装,导致运行代码时报错,可以Anaconda Prompt中用pip方法安装。...: 4 计算工作日天数 接着取出数据框日期第一个值,获取要统计年月信息。...会以csv形式存放到指定文件夹中。 如果需要把姓名、部门、缺卡次数等信息分开,可以excel中按特定条件分列,或调整一下代码进行实现。

1.8K30

定时任务cron表达式详解_el表达式详解

“*” 代表每隔1分钟触发; “,”代表指定分钟触发,比如”10,20,40″代表10分钟、20分钟和40分钟时触发任务 “–” 代表指定范围内触发,比如”5-30″代表从5分钟开始触发到...与{星期}互斥,即意味着若明确指定{星期}触发,则表示{日期}无意义,以免引起 冲突和混乱 “,” 代表指定日期触发,比如”1,10,20″代表1号、10号和20号这3天触发 “-“代表指定日期范围内触发...1,10]范围内,每隔2天触发,即1号,3号,5号,7号,9号触发 “L” 如果{日期}占位符如果是”L”,即意味着当月最后一天触发 “W “意味着本月内离当天最近工作日触发,所谓最近工作日,...即当天到工作日前后最短距离,如果当天即为工作日,则距离为0;所谓本月内说法,就是不能跨月取到最近工作日,即使前/后月份最后一天/第一天确实满足最近工作日;因此,”LW”则意味着本月最后一个工作日触发...与{日期}互斥,即意味着若明确指定{日期}触发,则表示{星期}无意义,以免引起冲突和混乱 “,” 代表指定星期约定触发,比如”1,3,5″代表星期天、星期二和星期四触发 “-“代表指定星期范围内触发

81230

如何消除双休日影响来计算销售额?

因为周末双休日可能导致销售额和其他工作日销售额有一定差异。 (一) 分析需求 我们需要求出当月每星期平均销售额,然后再根据当日销售额去对比看下完成比例情况。 ?...原表基础上通过添加列计算 var zq=Month('表1'[日期])&WeekDay('表1'[日期],2) //月星期做辅助 return AverageX(Filter('表1',Month(...'表1'[日期])&WeekDay('表1'[日期],2)=zq),'表1'[销售金额]) 2....添加日历表并建立关系时通过添加列计算 请注意在日历表里面我们通过添加方式把月和星期给进行了合并生成月星期自定义。...但是度量值计算的话这里会有个陷阱,自己可以测试下,观察上下文理解。 4. 计算完成率(添加方式) Divide('表1'[销售金额],'表1'[sumx计算]) 5.

62410

软件工程 怎样建立甘特图

当您添加任务开始日期和结束日期或工期时,任务栏将出现在时间刻度下面的区域中,且该区域将展开。 提示 要记录与每一任务有关其他数据,您可以添加更多。...类型”列表中,单击与要添加数据类型相对应列名称,然后单击“确定”。 添加您自己设计新数据 右键单击要显示新位置左侧标题,然后单击快捷菜单中“插入列”。...您可以定义时间刻度时间单位、开始日期和结束日期以及非工作日。​ image.png ​您可以滚动至时间刻度上特定日期或任务,还可以更改时间刻度区域宽度并显示更多日期。...“时间单位”下,选择所需“主要单位”和“次要单位”,然后单击“确定”。 设置非工作日 甘特图中,右键单击时间刻度中任何部分,然后单击快捷菜单中“配置工作时间”。...为“工作日”和“工作时间”选择所需选项,然后单击“确定”。 滚动至特定任务或里程碑 通过单击包含任务名称单元格,选择要滚动至任务或里程碑。 “甘特图”工具栏上,单击“滚动至任务”按钮。

5K20

【工具】EXCEL十大搞笑操作排行榜

可以快速跳转到该数据末尾处,还有CTRL+HOME,跳转到A1,CTRL+END,跳转到最后一个单元格,另 外,CTRL+A全选,CTRL+SHIFT+DOWN,选择当前到该数据末尾处,掌握这几个快捷键...建议点击【开始】选项卡,然后【编辑】组中,找到一个橡皮擦图标,点 击右边有个下拉列表,找到【清除格式】,如果认为这样三步操作有点麻烦,可以找到【清除格式】图标,然后右击,【添加快速访问工具栏】,以后...可以A1输入 2013-1-1,然后点击【开始】选项卡,然后【编辑】组中,找到【填充】,在出现下拉列表中选择【序列】,序列产生在,类型选择日期日期单位 为工作日,步长值为1,终止值为2013-...利用选择性粘贴运算功能可以快速处理这类问题,一个空白单元格输入0.9,然后复制,再选择需要更新,右击【选择性粘贴】, 在运算组中,选择【乘】,然后确定。...8.按年按月汇总 两数据,一日期,一为数量,需要按年按月汇总数量,怎么达到目的呢?

3.1K60

Excel 常用九十九个技巧 Office 自学教程快速掌握办公技巧

27、快速输入分数直接在单元格内输入分数 “1/4” 回车后会变为日期格式,我们可以单元格内先输入:“0”,然后按空格键再直接输入分数 “1/4” 就可直接以分数形式显示。...32、快速排序选取数据区域中任意一个单元格,菜单栏中选择【开始】-【排序】,选择排序依据主要关键字如日期、成绩等,选择升序或者降序。...52、为文件添加作者信息该 Excel 文件图标上右键单击 - 属性 - 摘要 - 作者栏中输入。...78、快速定义名称方法选中需要定义区域,名称框中输入内容,按回车键确认。79、隔行填充颜色使用 Ctrl+T 键。80、快速创建柱形图使用 Alt+F1 键 。...90、快速填充工作日日期先下拉填充日期,完成后右下角出现一个【自动填充选项】按钮,点击后选择【填充工作日】即可。

7K21

你需要Excel常用函数都在这里!

每个范围内单元格必须是数字或名称、数组或包含数字引用。空白和文本值将被忽略。选定范围可以包含标准Excel格式日期。 criteria 必需。...如: =EOMONTH(2011-1-1,1) 此函数表示 A2 中日期之后一个月最后一天日期。 结果:2011-2-28。...WEEKDAY() WEEKDAY(serial_number,[return_type]) 返回对应于某个日期一周中第几天。默认情况下,天数是 1(星期日)到 7(星期六)范围内整数。...、与该日期相隔指定工作日某一日期日期值。...工作日不包括周末和专门指定假日。计算发票到期日、预期交货时间或工作天数时,可以使用函数 WORKDAY 来扣除周末或假日。 start_date 必需。开始日期。 days 必需。

3.9K31

为时间序列分析准备数据一些简单技巧

下面是一些不同领域主题范围内查找数据来源——有些是经过策划,有些需要清理。你一定要从这个列表中找到你最喜欢。...假设您已经完成了所需预处理—例如重命名列、处理丢失值等—以下是您如何在几个步骤中准备数据方法。...从前几行我们可以看到,数据集有两,第一表示“yyyy - mm”格式日期和具有实际观测值。...最后一个好实践是从datetime索引中提取年份、月份和工作日,并将它们存储单独中。这给了一些额外灵活性,“分组”数据根据年/月等,如果需要。...总之,我们已经做了一些事情来将我们数据转换成一个时间序列对象: 1)将Month从字符串转换为datetime; 2)将转换后datetime设置为索引; 3)从索引中提取年、月、日,并存储

81230

爬取 2 万多张 Flickr 图片,莫纳什大学复现 10 年间日本樱花开放时空特征

21,633 张图像 D :结果图像随机选出用于人工检查样本 E :经人工检查确认为樱花图像数量 F :每月自动处理方法(计算机视觉和标签分析)预估精度,计算方法为 E/D G :利用该精度...,计算 2、3、4 月总共拍摄到樱花图片数量,计算方法为 C*F 评估方法 为了估计樱花盛开日期,研究人员为数据集中所有图像生成了以天为单位时间序列,然后用 7-day width 三角移动平均指标...最后,全国范围内樱花照片逐渐减少,由南到北退去。 实验团队将经过处理东京与京都地区樱花活动摄影日时间序列峰值,与 JMC/JNTO 所公布日期进行了比较验证。...如下图: 图 3:东京地区二者评估日期对比 左栏:通过本实验方法所估计历年东京樱花全盛日期 中栏:JNTO 历年报道东京樱花全盛日期 右栏:误差,即二者相差天数 图 4:京都地区二者评估日期对比...左栏:通过本实验方法所估计历年京都樱花全盛日期 中栏:JNTO 历年报道京都樱花全盛日期 右栏:误差,即二者相差天数 实验团队数据中,还揭示出了樱花在秋季开放现象。

18850

python用支持向量机回归(SVR)模型分析用电量预测电力消费|附代码数据

本文描述了训练支持向量回归模型过程,该模型用于预测基于几个天气变量、一天中某个小时、以及这一天是周末/假日/在家工作日还是普通工作日用电量关于支持向量机快速说明支持向量机是机器学习一种形式,可用于分类或回归...尽可能简单地说,支持向量机找到了划分两组数据最佳直线或平面,或者回归情况下,找到了容差范围内描述趋势最佳路径。对于分类,该算法最大限度地减少了对数据进行错误分类风险。...对于回归,该算法使回归模型某个可接受容差范围内没有获得数据点风险最小化。...# 为一天中每个小时创建新,如果index.hour是该对应小时,则分配1,否则分配0for i in range(0,24): elecweat[i] = np.zeros(len(elecweat...添加图片注释,不超过 140 字(可选)calcRMSE(predict_y, y_test_df)添加图片注释,不超过 140 字(可选)平均绝对百分比误差用这种方法,计算每个预测值和实际值之间绝对百分比误差

29800

python用支持向量机回归(SVR)模型分析用电量预测电力消费|附代码数据

本文描述了训练支持向量回归模型过程,该模型用于预测基于几个天气变量、一天中某个小时、以及这一天是周末/假日/在家工作日还是普通工作日用电量关于支持向量机快速说明支持向量机是机器学习一种形式,可用于分类或回归...尽可能简单地说,支持向量机找到了划分两组数据最佳直线或平面,或者回归情况下,找到了容差范围内描述趋势最佳路径。对于分类,该算法最大限度地减少了对数据进行错误分类风险。...对于回归,该算法使回归模型某个可接受容差范围内没有获得数据点风险最小化。...# 为一天中每个小时创建新,如果index.hour是该对应小时,则分配1,否则分配0for i in range(0,24): elecweat[i] = np.zeros(len(elecweat...添加图片注释,不超过 140 字(可选)calcRMSE(predict_y, y_test_df)添加图片注释,不超过 140 字(可选)平均绝对百分比误差用这种方法,计算每个预测值和实际值之间绝对百分比误差

26900
领券