寻找一周没有的公式。 (从该日起52周内的那一周)从该日期开始

时间:2013-11-20 17:42:24

标签: excel excel-vba excel-2007 excel-formula excel-2010 vba

是否有公式可以查找从该日期开始的周数(一年中52周内哪一周)?

enter image description here

3 个答案:

答案 0 :(得分:3)

尝试Excel功能=WEEKNUM

您可以找到有关函数HERE

的更多信息

如果上述链接死亡,这里是截图

enter image description here

答案 1 :(得分:3)

Excel的标准WEEKNUM function使用美国标准作为周数(包含1月1日=第1周的周)。如果您需要week number as defined in ISO8601,则可以查看建议公式的this article

=INT((B4-DATE(YEAR(B4-WEEKDAY(B4-1)+4),1,3)+WEEKDAY(DATE(YEAR(B4-WEEKDAY(B4-1)+4),1,3))+5)/7)

或作为VBA函数

Public Function IsoWeekNumber(d1 As Date) As Integer
' Attributed to Daniel Maher
    Dim d2 As Long
    d2 = DateSerial(Year(d1 - WeekDay(d1 - 1) + 4), 1, 3)
    IsoWeekNumber = Int((d1 - d2 + WeekDay(d2) + 5) / 7)
End Function

对于那些使用OpenOffice或LibreOffice Calc的人:这些电子表格程序中的WEEKNUM函数(doc)返回ISO8601周,Excel兼容函数称为WEEKNUM_ADD({{ 3}})

答案 2 :(得分:1)

日期为A1,:

=WEEKNUM(A1)将给出周数.....例如,如果A1包含:

2013年11月20日公式将返回47