使用Excel數(shù)組公式創(chuàng)建日歷|office辦公軟件入門基礎(chǔ)教程
如何使用數(shù)組公式創(chuàng)建如下所示的日歷?
在單元格B1中輸入日期時,顯示該日期所在月的日歷,如下圖所示。
先不看答案,自已動手試一試。
公式思路
一周有7天,一個月有28天、29天、30天、31天,每個月的第一天開始的星期幾不一樣,如果分成含有7列的行的話,最少需要4行,最多需要6行。因此,需要創(chuàng)建6行×7列的數(shù)組:
{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,42}。
然后,找到想要創(chuàng)建日歷的月份的第1天,將代表這天的日期序號與數(shù)組相加,得到代表這個月的每天的序號,再減去該月份的第1天是當周的星期幾,讓日歷正好能夠與星期幾相對應(yīng)。
公式解析
獲取當月日歷的數(shù)組公式:
=IF(DAY(calendar)>15,IF(ROW()=6,””,calendar),IF(DAY(calendar)<15,if(row()>9,””,calendar),calendar))
其中,calendar是一個命名公式,即:
=week*7+weekday+B3-B2
其中,week和weekday都是命名數(shù)組,即:
week:={0;1;2;3;4;5}
weekday:={1,2,3,4,5,6,7}
定義的名稱如。
week*7+weekday得到數(shù)組:
{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,42}。
在上所示的工作表中,在單元格B1中放置了想要創(chuàng)建的日歷月所在的日期。單元格B3中放置日期所在月份的第1天,B2放置這一天是這一周的第幾天。公式:week*7+weekday+B3-B2得到從該月份第一天所在周的周一開始之后的42天的日期序列。
最后的數(shù)組公式中,=IF(DAY(calendar)>15,IF(ROW()=6,””,calendar)表示如果上個月的日期大于15且在開始行,那么就顯示為空,即不顯示上月的日期;同樣,IF(DAY(calendar)<15,if(row()>9,””,calendar移除了下月的日期。
小結(jié)
創(chuàng)建日歷看似復雜,但理解其背后蘊藏的道理后似乎很簡單。
命名數(shù)組的應(yīng)用技巧,值得借鑒。
版權(quán)聲明:
本站所有文章和圖片均來自用戶分享和網(wǎng)絡(luò)收集,文章和圖片版權(quán)歸原作者及原出處所有,僅供學習與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系網(wǎng)站客服處理。