excel日期轉換為週數 VBA將日期轉換為週數

2021-10-13 10:43:07 字數 1947 閱讀 1919

6 個答案:

答案 0 :(得分:12)

要將週數作為第一天的星期一,請使用以下內容:

worksheetfunction.weeknum(now, vbmonday)

答案 1 :(得分:6)

使用vba將日期轉換為isoweeknumber,您只需要datepart函式(其中dt是感興趣的日期):

isoweeknumber = datepart("ww", dt, vbmonday, vbfirstfourdays)

如果您想使用iso 8601中指定的其他定義,請調查firstdayofweek和firstweekofyear的其他一些選項

答案 2 :(得分:3)

在週數方面要小心,因為周圍有不同的定義。 excel定義與iso定義不同。獲取iso週數使用(複製自

public function isoweeknumber(d as date) as integer

dim d2 as long

d2 = dateserial(year(d - weekday(d - 1) + 4), 1, 3)

isoweeknumber = int((d - d2 + weekday(d2) + 5) / 7)

end function

答案 3 :(得分:0)

使用datepart和錯誤解決方法來計算iso年:

'test 2007-12-31 should return w01y2008

mydate = "2007-12-31"

isoweek = datepart("ww", mydate, vbmonday, vbfirstfourdays)

week1 = datepart("ww", mydate, vbmonday, vbfirstfourdays)

week2 = datepart("ww", dateadd("d", 7, mydate), vbmonday, vbfirstfourdays)

isoyear = datepart("yyyy", mydate, vbmonday, vbfirstfourdays)

year1 = datepart("yyyy", mydate, vbmonday, vbfirstfourdays)

year2 = datepart("yyyy", dateadd("d", 7, mydate), vbmonday, vbfirstfourdays)

if isoweek = 53 and datepart("ww", dateadd("d", 7, mydate), vbmonday, vbfirstfourdays) = 2 then

isoweek = 1

end if

if isoweek = 1 and datepart("yyyy", dateadd("d", 7, mydate), vbmonday, vbfirstfourdays) > isoyear then

isoyear = isoyear + 1

end if

msgbox("w" & isoweek & "y" & isoyear)

' result in w01y2008

答案 4 :(得分:0)

所以,這是我最後的工作版本

data: {

popupmode: true,

isselected: false

methods: {

selectitem() {

this.isselected= true;

答案 5 :(得分:0)

weekdayname( number, [abbreviate], [firstdayofweek] )

weekdayname(2)

結果:'星期一'

weekdayname(2, true)

結果:'星期一'

weekdayname(2, true, vbmonday)

結果:'星期一'

EXCEL時間日期轉換為常規字元顯示

當我們做報表匯入的時候,我們不得不思考這樣乙個問題,遇到的資料是時間格式的,而在excel中,時間格式的單元格實際上是以1900年以後來計算的,例如,1900年是閏年 顯然可以被4整除 那麼1900年是有366天的,倘若我們在單元格內輸入366,則單元格顯示的是1900年12月31日,而我們再輸入3...

excel中如何將時間戳轉換為日期格式

今天要將乙份有9900多條資料的excel表裡的時間戳轉化為日期格式,一開始的想法是網上的時間戳轉化工具來批量轉化。可以是可以,但是轉化後要複製到excel表,格式就出問題了。還要調格式,好麻煩。後面就想著excel是不是可以有公式函式來轉化。真的可!excel真的?這麼好用的趕緊記錄下來,也和有緣...

excel中如何將時間戳轉換為日期格式

從linux系統中獲取的時間戳資訊通常為s,將其轉換的公式為 text c4 1000 8 3600 86400 70 365 19,yyyy mm dd hh mm ss 其中c4單元格所存的資料為ms因此需要除以1000 轉換後的結果如下 時間戳轉成正常日期的公式 c1 a1 8 3600 86...