久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Excel技巧應(yīng)用篇:使用Excel數(shù)組函數(shù)制作日歷

 每天學(xué)學(xué)Excel 2022-07-09 發(fā)布于福建

參照J(rèn)ohn Walkenbach書中的方法,,制作了一個日歷,,效果如下:

這個日歷可以實(shí)現(xiàn)從1900年開始至9999年的日期的顯示,實(shí)現(xiàn)方法主要是基于時間日期函數(shù)和數(shù)組公式的應(yīng)用,。

D2單元格用于選擇月份,,在數(shù)據(jù)有效性中選擇序列,輸入January,Febury,March,April,May,June,July,August,September,October,November,December:

F2用于調(diào)整年份,,插入“數(shù)值調(diào)整鈕”控件

設(shè)置控件格式如下:

現(xiàn)對實(shí)現(xiàn)過程解釋如下:

第一步,、首先定義如下幾個名稱

1.MonthNames:

={"January","Febury","March","April","May","June","July","August","September","October","November","December"}

用于月份下拉列表中的序列。

2.TheMonth:記錄所選擇的月份,。

=MATCH(日歷!$D$2,MonthNames,0)

3.TheYear:記錄所選擇的年份,。指向了G2

4.week ={0;1;2;3;4;5}注意這里的數(shù)組常量中由分號分隔,這是一個六維的數(shù)組,,之所以是六個,,是因為一個月中最多橫跨六個周。

5.weekday ={0,1,2,3,4,5,6}注意此處的數(shù)組常量由逗號分隔,,這是一個一維的七元數(shù)組,,表示一周的七天(更確切的講是七天的位置)。

6.StartDate =DATE(TheYear,TheMonth,1)表示在選定的年份,、選定的月份條件下,,該月第一天。使用這個值是為了之后區(qū)分是否是本月的數(shù)據(jù)方便,。

7.StartDow =WEEKDAY(StartDate,3)表示StartDate在一個星期中的位置,,即在weekday中的某一個數(shù)組,。。此處WEEKDAY是EXCEL中的一個時間日期函數(shù),,需關(guān)注輸入?yún)?shù)3,,按照星期一—星期日的順序依次顯示0-6,返回參數(shù)代表日期的星期數(shù),。StartDow的取值為0-6,,剛好與weekday(數(shù)組常量)中的數(shù)值相一致。

第二步,、分析

可以確定,,一個月中最大是星期跨度為6,因此每月的日期必然能夠放在一個6*7的區(qū)域內(nèi),,在本文中即為"C6:I11",。下面我們要解決的是如下兩個問題:
問題1:如何得到該6*7區(qū)域中每一天的日期。

問題2:如何區(qū)分出該區(qū)域中哪些是在本月的,,哪些不是在本月的,,不在本月份的應(yīng)不予顯示。

第三步,、實(shí)現(xiàn):

1.問題1的解決:

我們可以利用兩個數(shù)組常量week={0;1;2;3;4;5}和weekday={0,1,2,3,4,5,6}進(jìn)行數(shù)組公式運(yùn)算,、借助StartDate,StartDow,、使用其他時間日期函數(shù)來實(shí)現(xiàn),,具體方法為

選定單元格區(qū)域"C6:I11",輸入公式“=StartDate-StartDow+week*7+Weekday ”,,并按下“Ctrl+Shift+Enter”組合鍵,,輸入此數(shù)組公式。結(jié)果如下:(以2011/03月為例)

40601

40602

40603

40604

40605

40606

40607

40608

40609

40610

40611

40612

40613

40614

40615

40616

40617

40618

40619

40620

40621

40622

40623

40624

40625

40626

40627

40628

40629

40630

40631

40632

40633

40634

40635

40636

40637

40638

40639

40640

40641

40642

其中week*7+weekday會得到如下二位數(shù)組:

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

而-StartDow+week*7+weekday則表示每一天相對于本月第一天(用StartDate表示)的相對距離,,結(jié)果如下

-2

-1

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

所以StartDate-StartDow+week*7+Weekday就可以得到這個表格中的每一個單元格中代表的日期的真實(shí)日期值,。如果我們把這個單元格的格式調(diào)成日期時間格式,結(jié)果如下:

2011-2-27

2011-2-28

2011-3-1

2011-3-2

2011-3-3

2011-3-4

2011-3-5

2011-3-6

2011-3-7

2011-3-8

2011-3-9

2011-3-10

2011-3-11

2011-3-12

2011-3-13

2011-3-14

2011-3-15

2011-3-16

2011-3-17

2011-3-18

2011-3-19

2011-3-20

2011-3-21

2011-3-22

2011-3-23

2011-3-24

2011-3-25

2011-3-26

2011-3-27

2011-3-28

2011-3-29

2011-3-30

2011-3-31

2011-4-1

2011-4-2

2011-4-3

2011-4-4

2011-4-5

2011-4-6

2011-4-7

2011-4-8

2011-4-9

至此,,問題1已經(jīng)得到了解決,,我們得到了這個6*7的單元格

2.問題2的解決。

我們使用If函數(shù)和Month函數(shù)的混合搭配即可過濾掉非當(dāng)前月份的數(shù)據(jù),,具體如下:

選定該單元格區(qū)域,,輸入如下公式

“=IF(MONTH(StartDate-StartDow+week*7+Weekday)<>TheMonth,"",DAY(StartDate-StartDow+week*7+Weekday))”,按下“Ctrl+Shift+Enter”組合鍵,。

該公式通過判斷每一個單元格區(qū)域代表日期所在的月份值與所選定的月份值是否相等,,如不相等,則不顯示任何數(shù)據(jù),如相等,,也就是確實(shí)是選定月份的日期數(shù)據(jù),,則顯示出該日期的日數(shù)(有DAY函數(shù)給出)。注意,,這樣需將該區(qū)域的單元格格式調(diào)為“數(shù)值”或“常規(guī)”,,而不能是“時間日期”。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多