在 Excel 中供给了多种便利利用的日期函数,若是要列出某年的週6、週日之日期(以下图),该若何设计?
起首在贮存格B1中以资料验证体例,指定贮存格为「清单」,内容为「2010,2011,2012,2013」。
接着设定一个名称:DATA
DATA:=INDIRECT("A"&DATE($B$1,1,1)&":A"&DATE($B$1,12,31))
公式中的:"A"&DATE($B$1,1,1)&":A"&DATE($B$1,12,31)
假定贮存格B1的内容为2011,
则公式=A40544:A40908,40544为2011/1/1的数值,而40908为2011/12/31的数值。
再透过INDIRECT函数转成贮存格位址。也就是被选择了一个年度时,会发生一组位址和日期数值不异的贮存格阵列。
(1) 找出日期
贮存格B3:{=SMALL(IF(WEEKDAY(ROW(DATA),2)>5,ROW(DATA),FALSE),ROW(1:1))}
ROW(DATA)会将日期位址的阵列转换回数值(例如:40544、40545、40546…)阵列,而WEEKDAY函数用以找出是不是为礼拜6、日(传回值为6,7)。
SMALL函数可以依序(藉由ROW函数)由小到年夜列出日期。
複製贮存格B3,往下贴上。
(2) 显示礼拜6、日
贮存格C3:=CHOOSE(WEEKDAY(B3,2)-5,"六","日")
由于WEEKDAY(B3,2)会传回6或7,所以减5后得1或2,在CHOOSE函数中可得「六或日」。
複製贮存格C3,往下贴上。
(3) 显示月份
贮存格A4:=IF(MONTH(B4)=MONTH(B3),"",MONTH(B4)&"月")
由于只有该月的第一天会显示月份,所以只要比对和上一个贮存格所得的月份分歧者显示月份,不然显示空缺。
複製贮存格A4,往下贴上。
同理,若是你想要只找出某一年中礼拜二的所有日期:
贮存格F3:{=SMALL(IF(WEEKDAY(ROW(DATA),2)=2,ROW(DATA),FALSE),ROW(1:1))}
複製贮存格F3,往下贴上。
--------------------------------------------
具体函数申明请参阅微软网站:
INDIRECT:weioffice.microsoft.af/zh-tuozhan/excel-help/HP010342609.aspx
INDIRECT:传回文字串所指定的参照位址。 | 语法:INDIRECT(ref_text,[a1]) ref_text:单一贮存格的参照位址,此中包括A1栏名列号暗示法、R1C1栏名列号暗示法、界说为参照位址的名称,或界说为字串的贮存格参照位址。 a1:指定ref_text贮存格中所包括参照位址类型的逻辑值。 |
WEEKDAY:weioffice.microsoft.af/zh-tuozhan/excel-help/HP010343015.aspx
WEEKDAY:传回合适日期的礼拜。给定的日预设为介于1(礼拜日)到7(礼拜六)之间的整数。 | 语法:WEEKDAY(serial_number,[return_type]) Serial_number:要找的日期的代表序列值。 Return_type:决议传回值类型的数字。 |
RETURN_TYPE | 传回的数字 | 1或省略 | 数字1(礼拜日)到7(礼拜六)。 | 2 | 数字1(礼拜一)到7(礼拜日)。 | 3 | 数字0(礼拜一)到6(礼拜六)。 | 11 | 数字1(礼拜一)到7(礼拜日)。 | 12 | 数字1(礼拜二)到7(礼拜一)。 | 13 | 数字1(礼拜三)到7(礼拜二)。 | 14 | 数字1(礼拜四)到7(礼拜三)。 | 15 | 数字1(礼拜五)到7(礼拜四)。 | 16 | 数字1(礼拜六)到7(礼拜五)。 | 17 | 数字1(礼拜日)到7(礼拜六)。 |
创作者先容 vincent
- 全站分类:不设分类
- 小我分类:课本资料
- 此分类上一篇: Excel-贮存格範围的利用
- 此分类下一篇: Excel-一个图表套用分歧公式
- 上一篇: Excel-贮存格範围的利用
- 下一篇: Excel-一个图表套用分歧公式
汗青上的今天
- 2016: 掏出被庇护的PDF文件中的内容
- 2016: 将Word文件的每页转换为一张图片
- 2012: Excel-将学生名条转换为坐位表
- 2011: Excel-贮存格範围的利用
- 2010: 在Windows 7中的剪取东西
- 2010: 在Windows 7中删除比来的项目
- 2010: 备份Blogger的文章
- 2010: 善用IE 8中的加快器