2017/3/29
常用日期与时间运算
1、日期与时间
=D4+E4/24/60
=(E9-D9)*24*60
=D14+E14
方法1:=E18-D18
方法2:=DATEDIF(D18,E18,"d")
2、推算日期
=DATE(YEAR(B5),MONTH(B5)+4,DAY(B5))
方法1:=DATE(YEAR(B13),MONTH(B13)+1,1)-1
方法2:=DATE(YEAR(B13),MONTH(B13)+1,0)
方法1:=DAY(DATE(YEAR(B21),MONTH(B21)+1,1)-1)
方法2:=DAY(DATE(YEAR(B21),MONTH(B21)+1,0)
3、计算日期间隔
=DATEDIF(B5,C5,"y")
=DATEDIF(B13,C13,"y")&"年"&DATEDIF(B13,C13,"ym")&"月"&DATEDIF(B13,C13,"md")&"天"
4、星期计算
=WEEKNUM(B3,2)
=WEEKDAY(B8,2)
="第"&WEEKNUM(B13,2)&"周第"&WEEKDAY(B13,2)&"天"
2017/3/30
条件格式与公式
1、多重条件格式设置,后设置的会覆盖前面设置的。
正确的应该是先设置小于2000000的,再设置小于1000000。
2、对于约束条件和设置结果分别位于2列的,要写公式。
=D2>100
3、对于标记多列的,注意单元格约束
=$D2>100
4、练习题
=(WEEKDAY($A2,2))>5
=(DATEDIF($C2,TODAY(),"md"))<=15
2017/4/13
简单文本函数
绰号:=LEFT(A3,3)
姓名:=MID(A3,4,10)
=RIGHT(E3,4)
=RIGHT(LEFT(B13,17),1)
=RIGHT(A2,LENB(A2)-LEN(A2))
用户名:=LEFT(E2,(FIND("@",E2)-1))
域名:=MID(E2,FIND("@",E2)+1,100)
2017/4/14
数学函数
=IF(MOD(RIGHT(LEFT(B2,17),1),2),"man","woman")
解法1:=IF(MOD(C2,1)<=0.5,INT(C2),INT(C2)+0.5)
解法2:=INT(C2*2)/2
=INDEX($A:$A,COLUMN()-2)
=INDEX(E:E,(ROW()-4)*5+3)
=INDEX($A:$A,ROW()*3+COLUMN()-10)
先找规律,再引用
=INDEX($A$2:$C$35,INT((ROW()-2)/3)+1,MOD(ROW()-2,3)+1)
=IF((MOD(ROW()-1,6))=5,"",INDEX(A:A,INT((ROW()-1)/6)*5+MOD(ROW()-1,6)+1))
2017/4/16
LOOKUP函数与数组
方法1:=SUMIF(A:A,K8,E:E)
方法2(数组):=SUMPRODUCT((A2:A22=K8)*(E2:E22))
=LOOKUP(1,0/(($A$2:$A$13=F6)*($B$2:$B$13=G6)),$D$2:$D$13)
第19讲-Indirect函数
index法:=INDEX(E:E,ROW()*5-25)
indirect法:=INDIRECT("e"&ROW()*5-25)
1、确定位置:=A4&"!G2"
2、引用:=INDIRECT(A4&"!G2")
=VLOOKUP("张三",INDIRECT(A4&"!A:H"),7,0)
问题:如果员工姓名重复该如何处理?
=SUMIF(INDIRECT(A4&"!A:A"),"张三",INDIRECT(A4&"!G:G"))
=VLOOKUP(B$2,INDIRECT($A3&"!A:H"),7,0)
1、定义单元格名称
2、=SUM(INDIRECT(G3))
1、定义单元格名称
2、=INDIRECT(E2)
3、去除首行数据有效性
2017/4/20
2017/4/22
动态图表1
注意if函数的单元格必须绝对引用
利用offset函数自动更新数据透视表取值范围
注意必须绝对引用单元格
2017/5/6
2017/5/8
=IF($B$12<B2,0,IF($B$12>B2+C2,C2,$B$12-B2))
2017/5/9
利用数组函数求值
{=SUM(((B2:K2)={"事";"病";"婚"})*{1;2;3})}
先计算日期位置,再用数组求和
{=SUM(INDEX(B2:B15,MAX((A2:A15=I4)*(ROW(A2:A15)-1))):INDEX(F2:F15,MAX((A2:A15=J4)*(ROW(A2:A15)-1))))}
{=INDEX($A$2:$A$19,MATCH(1,($B$2:$B$19>100)*(COUNTIF($G$1:G1,$A$2:$A$19)<1),0))}
{=INDEX($A$2:$A$23,MATCH(0,COUNTIF($H$1:H1,$A$2:$A$23),0))}
2018/6/29
根据15或18位身份证提取信息
1、性别
=IF(MOD(MID(A2,15,3),2)=1,"男","女")
2、出生日期
=--TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"0-00-00")
3、年龄
=DATEDIF(B2,TODAY(),"y")
4、星座
=VLOOKUP(VALUE("1900-"&TEXT(MID(A2,LEN(A2)/2+2,4),"#-##")),{1,"摩羯座";21,"水瓶座";50,"双鱼座";81,"白羊座";112,"金牛座";143,"双子座";174,"巨蟹座";205,"狮子座";236,"处女座";268,"天秤座";298,"天蝎座";328,"射手座";357,"摩羯座"},2,TRUE)