有关EXCEL的两个问题,请高手帮忙!在线等待加分!

2025-01-03 20:35:28
推荐回答(3个)
回答1:

1、
第一种办法:
可以使用EOMONTH配合DATE函数,如果该函数不可用,并返回错误值 #NAME?,请安装并加载“分析工具库”加载宏。(如觉得麻烦可以使用第二种办法CHOOSE)

假如A1输入月份 10

在B1输入公式:

=EOMONTH(DATE(2006,A1,1),0)

注意要设置一下年份(2006)和把B列的格式定义为日期格式(dd)

返回 start-date 之前或之后用于指示月份的该月最后一天的序列号。用函数 EOMONTH 可计算正好在特定月份中最后一天内的到期日或发行日。

语法

EOMONTH(start_date,months)

Start_date 是代表开始日期的一个日期。应使用 DATE 函数来输入日期,或者将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入日期 2008 年 5 月 23 日。如果将日期以文本的形式输入,则会出现问题。

Month 为 start_date 之前或之后的月数。正数表示未来日期,负数表示过去日期。

如果 months 不是整数,将截尾取整。

说明

Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年 1 月 1 日的序列号是 1 而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。Microsoft Excel for the Macintosh 使用另外一个默认日期系统。
如果 start_date 为非法日期值,函数 EOMONTH 返回错误值 #NUM!。
如果 start_date 加 month 产生非法日期值,函数 EOMONTH 返回错误值 #NUM!。

第二种办法:
使用CHOOSE函数

假设A1输入月份10

在B1单元格输入公式:

=CHOOSE(A2,31,28,31,30,31,30,31,31,30,31,30,31)

需要注意的是当年润二月的日期。

2、按wyc_wyc所说的,用ISERROR函数即可。

回答2:

1如果在工作表中提前输入和月份对应的信息可以实现,直接用函数的方法不清楚
2引用的公式在B1,在其他单元格中输入“=IF(ISERROR(B1),"",B1)”

回答3:

1、首先只输入月份的方式是无法得到正确的日期的,因为有闰月。假设你在A1中输入了“2006-1”,在B1中输入“=day(date(year(A1),month(A1)+1,1)-1)”可以得到31。如果你不想考虑闰用的问题可以直接在B1中使用这个表达式“=if(a1=2,28,if(a1<8,if(mod(a1,2)=0,30,31),if(mod(a1,2)=0,31,30)))”
2、楼上正解,不再多说。