我希望用户在A1中输入年份。
我希望用户在A2中输入周数。
我希望用户在A3中输入工作日(周一,周二,周三,周四,周五,周六或周日)。
然后我希望A4计算输入的周数的月份,其中周数被计为属于某个月,具体取决于指定的工作日是否在该月份。
什么配方适用于A4? (如果你不能解决这个问题,但可以给我一个有效的公式,如果指定的工作日只能是星期四,那么我也欢迎你。
答案 0 :(得分:0)
我的想法是这样的:
(周数-1)* 7 +工作日 - >星期一= 1,星期二= 2 .... 检查年份日[0..365或366]并与1月/ 2月/ 3月的偏移进行比较...取决于年份是否为2月29日 - 可以使用年份计算。
现在你所要做的就是将其转换为代码。
编辑: 在我阅读您所参考的页面后,我认为您无法理解Excels日期语法 http://office.microsoft.com/en-us/excel-help/date-function-HP010062283.aspx
所以让我们打破这段代码: 这里发生了什么?
=CHOOSE(MONTH(DATE(A2,1,B2*7-2)-WEEKDAY(DATE(B2,1,3))),"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
所以我们选择第一个DATE语句: 日期(如Microsoft的文档中所述)的工作原理如下:如果您的月份超过30/31天,则剩余的日期将被拖入下个月。因此A1是年份(yyyy / mm / dd)B2是日7次 ==周数减去一些偏差因为第一周不计算(就像是第1周第3天但是公式将使其成为第10天否则)
那么月份名是什么? 好吧,这只是一个简单的枚举,一开始CHOOSE函数会将0 ... x之间的数字转换为枚举中相应位置的值,这就是几个月必须按顺序排列的原因。