我需要一个公式或宏来帮助自动化成绩表的日期。
我们每周一或周三才上课。我想vlookup
从每个季度的日期范围输入一个表格,例如 9 月 10 日至 10 月 24 日。代码应该自动将每周一和周三的日期插入到我的成绩单顶部的一行中。
每年我都会使用自己创建的同一个 Excel 工作簿来计算平均成绩并进行评分,没有任何问题,但这一次我似乎做错了。目前我必须手动输入每个日期。
答案1
这是一个可以实现这一目的的公式。
- 在第一列中输入您的开始日期。
- 在下一列中输入以下公式:
=IF(TEXT(A1,"ddd")="Mon",A1+2,A1+5)
也就是说,如果前一列是星期一,则这一列为该天 + 2。如果不是,则这一列为该天 + 5。
然后将公式复制到后续单元格中,直到到达本季度的最后一天。
这是我找到的一段视频,展示了如何复制公式:使用快速填充柄在 Excel 中快速复制/粘贴数据、公式、文本
您可以格式化该行,以便按您喜欢的方式显示日期,方法是右键单击行号(选择整行)并选择设置单元格格式...。
在下面数字选项卡,选择日期从类别列表中,然后选择一个类型.或者你可以选择风俗从类别列表中选择并自定义。我在自定义下使用了此内容:
ddd, mmm d
显示如下:
9 月 10 日,周一
此页面列出了每个“代码”的含义(例如“ddd”是日期的缩写,“Mon”):
答案2
一个更简单的解决方案是:
=如果(工作日(A1,11)=5,A1+3,A1+2)
这使用了带有参数(返回类型)11 的 Weekday 函数,这意味着一周从星期一开始,在星期日结束。
因此,如果工作日是 5(即星期五),则添加 3 天(即星期一)。否则,添加 2 天(因此星期一 + 2 = 星期三,星期三 + 2 = 星期五)。
以前的解决方案只为您提供一组星期一、星期三、星期五。此公式可让您重复该序列超过一周。