日期索引的“人性化設置”

日子一天天的過,數據也是一天天增多,數據代表了我們經營的軌跡,反應了我們努力的成敗。用表說明,用圖傳達,精緻人生,盡在E圖表述,…… ……

這時老闆應景的闖入,喊道:別發呆了,給我弄一份去年5月7日到今年6月底的報表來,按周彙總,一小時後開會用。

在眾多的辦公場景中,這種情況大家應該都不會陌生吧,沒有什麼藉口,吃這碗飯,就要應對所有的突發情況。今天我們就來見識幾個日期查詢彙總的“人性化設置”。

1、考勤表日期表頭

日期索引的“人性化設置”

這種方式的日期表頭,可以便於我們查詢各個時間段的考勤記錄。也可以擴展到其他日報的數據查詢和彙總。

函數:

B4=B2,起始日期

C4=IF($B4+COLUMN(A1)<=$D$2,$B4+COLUMN(A1),""),右拉填充,顯示到截止日期。

此方法同樣適合豎版的日期羅列,只是將column換成row就可以了。

2、時間段彙總表表頭

日期索引的“人性化設置”

輸入截止日期,選擇查詢的範圍,就可以自動得到需要的起始日期。本方法是為了處理信息類數據時使用,比如領導需要監督某個階段的數據,本月、本週、本季度等等。

函數:

C4=IF(F4="天",C5-1,IF(F4="周",C5-WEEKDAY(C5,11)+1,IF(F4="月",C5-DAY(C5)+1,IF(F4="季",DATE(YEAR(C5),MONTH(C5)-MOD(MONTH(C5)-1,3),1),IF(F4="年",DATE(YEAR(C5),1,1))))))

因為長是不是看著費勁,我們來拆分著看吧:

天:C5-1

周:C5-WEEKDAY(C5,11)+1

月:C5-DAY(C5)+1

季:DATE(YEAR(C5),MONTH(C5)-MOD(MONTH(C5)-1,3),1)

年:DATE(YEAR(C5),1,1)

這樣就好理解了吧,用if串起來這些內容就是上面的嵌套了。“季度第一天”是最難理解的一個,但是作者感覺也是數學問題大於Excel問題,大家有時間可以多研究,一定不是隻有這一種方案。

3、按查詢範圍返回日期列表

回到開篇的場景來,緊急任務別耽擱,開工吧。完成這項工作,總共分兩步(比把大象關冰箱,還少一步):1.輸入起始日期,2.輸入截止日期。完工,你沒有看錯,完工了!!

日期索引的“人性化設置”

函數:

B7=C2

B8= IF(OR(B7="",$C$3=C7),"",IF($F$2="天",MIN(B7+1,$C$3),C7+1)),下拉到足夠的區域。

C7= IF(B7="","",IF($F$2="天","",IF($F$2="周",MIN(B7+7-WEEKDAY(B7,11),$C$3),IF($F$2="月",MIN(EOMONTH(B7,0),$C$3),IF($F$2="季",MIN(EDATE(DATE(YEAR(B7),MONTH(B7)-MOD(MONTH(B7)-1,3),1),3)-1,$C$3),IF($F$2="年",MIN(DATE(YEAR(B7)+1,1,1)-1,$C$3))))))),雙擊填充柄自動填充。

分解C7單元格函數如下:

周:MIN(B7+7-WEEKDAY(B7,11),$C$3)

月:MIN(EOMONTH(B7,0),$C$3)

季:MIN(EDATE(DATE(YEAR(B7),MONTH(B7)-MOD(MONTH(B7)-1,3),1),3)-1,$C$3)

年:MIN(DATE(YEAR(B7)+1,1,1)-1,$C$3)

使用Min()函數,就是為了不必要的過多使用if,會使得函數沒有層次感,不便於檢查。

如果沒有看懂的話,也可以在公眾號首頁“聯繫我們”中加作者好友諮詢。

作者雲:

日期用的好,日常的數據統計工作絕對能省一大票的時間!!希望大家能夠學會今天的內容。工作是服務於別人,學習是服務於自己。

編後語:

建模就是這樣的一個過程,當然建模還需要其他的條件,但是解決了日期也就解決了一半的問題。或者學習或者找E圖表述為您服務,這都是對於自己工作的負責,為什麼非要把時間花在沒有必要的環節呢?


分享到:


相關文章: