Excel常用公式和技巧公式上课讲义.doc
Good is good, but better carries it.精益求精,善益求善。Excel常用公式和技巧公式-常用函数公式及技巧搜集【身份证信息提取】从身份证号码中提取出生年月日=IF(LEN(A2)=15,"19"&MID(A2,7,2)&"-"&MID(A2,9,2)&"-"&MID(A2,11,2),MID(A2,7,4)&"-"&MID(A2,11,2)&"-"&MID(A2,13,2)从身份证号码中提取出性别=IF(MOD(MID(A1,15,3),2),"男","女")从身份证号码中进行年龄判断以2006年10月31日为基准日,按按身份证计算年龄(周岁)的公式=DATEDIF(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")*1,"2006-10-31","y")按身份证号分男女年龄段按身份证号分男女年龄段,身份证号在K列,年龄段在J列(身份证号为18位)男性16周岁以下为1男性16周岁(含16周岁)以上至50周岁为2男性50周岁(含50周岁)以上至60周岁为3男性60周岁(含60周岁)以上为4女性16周岁以下为1女性16周岁(含16周岁)以上至45周岁为2女性45周岁(含45周岁)以上至55周岁为3女性55周岁(含55周岁)以上为4=MATCH(DATEDIF(DATE(MID(K1,7,4),MID(K1,11,2),MID(K1,13,2),TODAY(),"y"),0,16,50,60-0,0,5,5*ISEVEN(MID(K1,17,1)=SUM(-(DATEDIF(MID(K1,7,4)&"/"&MID(K1,11,2)&"/"&MID(K1,13,2),TODAY(),"y")>=0,16,45,55+0,0,5,5*MOD(MID(K1,17,1),2)【年龄和工龄计算】根据出生年月计算年龄DATEDIF(A1,TODAY(),"y")根据出生年月推算生肖中国人有12生肖,属什么可以推算出来。即用诞生年份除以12,再用除不尽的余数对照如下:0猴,1鸡,2狗,3猪,4鼠,5牛,6虎,7兔,8龙,9蛇,10马,11羊例如:XXX出生于1921年,即用1921年除以12,商得数为160,余数为1,对照上面得知余数1对应生肖是鸡,XXX就属鸡。=MID("猴鸡狗猪鼠牛虎兔龙蛇马羊",MOD(YEAR(A2),12)+1,1)(2007)如何统计各年龄段的数量如何计算20-50岁的人数?=COUNTIF(C3:C17,">=20")-COUNTIF(C3:C17,">50")如何统计40-50岁的人的个数countif(a:a,">40")-countif(a:a,">50")=COUNTA(A1:A10,D1:D10)如何让EXCEL自动从头统计到当前单元格情况如下:C列要根据A列的内容来统计B列的数据,范围从A1:An,即当A列中An有数据时,Cn自动根据An的值,统计B1:Bn的数据。=SUM(INDIRECT("B1:B"&LARGE(A1:A65535<>"")*(ROW(A1:A65535),1)统计人数见表:性别年龄男6女35男3男55男21男53.5女55女56男65女45女53男51如何计算20-50岁的人数?=COUNTIF(C3:C17,">=20")-COUNTIF(C3:C17,">50")如何计算男20-50岁的人数?=SUMPRODUCT(B3:B17="男")*(C3:C17>=20)*(C3:C17<=50)nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn【时间和日期应用】自动显示当前日期公式=YEAR(NOW()当前年=MONTH(NOW()当前月=DAY(NOW()当前日如何在单元格中自动填入当前日期Ctrl+;显示昨天的日期每天需要单元格内显示昨天的日期,但双休日除外。例如,今天是7月3号的话,就显示7月2号,如果是7月9号,就显示7月6号。=IF(TEXT(TODAY(),"AAA")="一",TODAY()-3,IF(TEXT(TODAY(),"AAA")="日",TODAY()-2,TODAY()-1)=IF(TEXT(TODAY(),"AAA")="一",TODAY()-3,TODAY()-1)关于取日期怎么设个公式使A1在年月日向后推5年,变成2011-7-15=DATE(YEAR(A1)+5,MONTH(A1),DAY(A1)=EDATE(A1,12*5)日期格式转换公式将“01/12/2005”转换成“20050112”格式RIGHT(A1,4)&MID(A1,4,2)&LEFT(A1,2)YEAR($A2)&TEXT(MONTH($A2),"00")&TEXT(DAY($A2),"00")该公式不用设置数据有效性,但要设置储存格格式。也可以用下列两方法:1、先转换成文本,然后再用字符处理函数。2、数据-分列日期-MDY将“2005年9月”转换成“200509”格式先用公式:=text(a1,"yyyymm")+0然后将单元格格式为常规。将“2005-8-6”格式转换为“20050806”格式用公式:=TEXT(A1,"YYYYMMDD")反之,将20050806转为日期2005-8-6格式,可用公式:=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)另四种公式:text(a1,"0000-00-00")显示:2005-08-06-TEXT(A1,"#-00-00"),把单元格设置为日期格式显示:2005-8-6TEXT(20050806,"0000-00-00")*1,单元格设置日期型显示:2005-8-6VALUE(LEFT(A1,4)&"-"&MID(A1,5,2)&"-"&RIGHT(A1,2)显示:2005-8-6将“20060501”转换为“2006-05-01”格式=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)将“199306”转换为“1993-6”公式1:=LEFT(A3,4)&"-"&RIGHT(A3,2)*1公式2:=-TEXT(A3*100+1,"#-00-00")公式2需要设置单元格格式,自定义:e-m公式3:=TEXT(TEXT(A3&"01","0000-00-00"),"e-m")把198405转换成1984.05一、查找1984,替换1984.二、如果全部是年月的话,我个人建议,1、采取辅助mid(xxxxxx,1,4)&"."&right(xxxxxx,2)2、选中这列,用数据中的分列。然后三、单元格格式数字自定义,类型下面输入:#"."#将文本“2004.01.02”转换为日期格式:2004-1-2=DATE(MID(A1,1,4),MID(A1,6,2),MID(A1,9,2)将2005-8-6转换为2005年8月6日格式=TEXT(A1,"yyyy""年""m""月""d""日""")象22怎样转换成22日?转成当年当月的日子公式为:=date(year(now(),month(now(),22)将“2006年5月”转换成“2006年05月”公式为:=TEXT(A8,"yyyy""年""mm""月""")也可以这样处理:选中单元格,设置单元格公式数字自定义,将yyyy“年”m“月”改为:yyyy“年”mm“月”,即可。但这方法打印出来显示为:2006/5/将“1968年6月12日”转换为“1968/6/12”格式=YEAR(A1)&"/"&MONTH(A1)&"/"&DAY(A1)显示:1968/6/12=TEXT(A1,"yyyy/mm/dd")显示:1968/06/12将“1968年6月12日”转换为“1968-6-12”格式=YEAR(A1)&"-"&MONTH(A1)&"-"&DAY(A1)显示:1968-6-12=TEXT(A1,"yyyy-mm-dd")显示:1968-06-12将1993-12-28的日期格式转换成1993年12月=CONCATENATE(YEAR(A1),"年",MONTH(A1),"月")=YEAR(A1)&"年"&MONTH(A1)&"月"也可以自定义格式$-404e"年"m"月" 将“1978-5-2”包含年月日的日期转换成“197805”只有年月的格式year(A1)&text(month(A1),"00")要将“99.08.15”格式转换成“1999.08.15”如何做选中列,数据菜单中选分列,分列过程中“格式”选“日期YMD”,结束。要保持2005/8/6格式当输入2005/8/6后系统自动变成2005-8-6,要保持2005/8/6格式,可以使用强制文本(前面加'号)或使用公式=TEXT(A1,"YYYY/MM/DD")。也可以用另一种公式:=IF(ISERROR(TEXT(A1,"yyyy/mm/dd"),TEXT(A1,"0000!/00!/00"),TEXT(A1,"yyyy/mm/dd")将“二三年十二月二十五日”转为“2003-12-25”格式,1、可以用数组公式将中文日期转化为日期系列数=14610+MATCH(SUBSTITUTE(A3,"元","一"),TEXT(ROW($14611:$55153),"DBNum1yyyy年m月d日"),0)该公式速度较慢。2、改进后的公式,速度要快的多:=DATE(1899+MATCH(LEFT(A7,4),TEXT(ROW($1900:$2100),"DBNum10000"),0),MONTH(MATCH(SUBSTITUTE(MID(A7,6,7),"元","一"),TEXT(ROW($1:$366),"DBNum1m月d日"),0),DAY(MATCH(SUBSTITUTE(MID(A7,6,7),"元","一"),TEXT(ROW($1:$366),"DBNum1m月d日"),0)要设置为1900年的日期格式。日期格式转换如A列是月份数为8,B列是日期数为18,如何在C列显示“8月18日”=A1&"月"&B1&"日"反之,要将C列的“8月18日”直接分别到D、E列,显示月份和日期,月数份=LEFT(C5,FIND("月",C5)-1)日期数=MID(C5,FIND("月",C5)+1,FIND("日",C5)-FIND("月",C5)-1)也可分别用公式:=month(-c5)=day(-c5)日期格式转换问题输入的日期是:04-07-26.与另一格的"001"合并,合并出来是:040726001.=TEXT(A1,"YYMMDD")&"001"要想自动取得“编制日期:XXXX年X月X日”可在该单元格输入="编制日期:"&TEXT(TODAY(),"yyyy年m月d日")【排名及排序筛选】一个具有11项汇总方式的函数SUBTOTAL=SUBTOTAL(9,$B$2:B2)在数据筛选求和上有意想不到的功能,11项功能为:1、求平均数,2、求计数,3、求计数值(自动筛选序列)4、求最大值,5、求最小值,6、求乘积,7、求总体标准偏差,8、求标准偏差、9、求和,10、求方差,11、求总体方差。自动排序=SUBTOTAL(3,$B$2:B2)*1=IF(A2<>A1,1,N(C1)+1)自动生成序号比如在第二列中输入内容回车后第一列的下一行自动生成序列号。=IF(B2<>"",A2+1,"")如何自动标示A栏中的数字大小排序?=RANK(A1,$A$1:$A$5)=RANK(A1,A:A)如何设置自动排序A列自动变成从小到大排列B=SMALL(A$2:A$28,ROW(1:1)A列自动变成从大到小排列B=LARGE(A$2:A$28,ROW(1:1)重复数据得到唯一的排位序列想得到数据的出现总数吗(1,2,2,3,4,4,5数据的出现总数为5)?解答:不需要插列,不需要很多的函数就行了.=RANK(B3,B$3:B$12)+COUNTIF(B$3:B3,B3)-1按字符数量排序制作歌曲清单时,习惯按字符数量来排列分类,但是EXCEL并不能直接按字数排序。需要先计算出每首歌曲的字数,然后再进行排序。如A、B列分别为“歌手”和“歌名”,在C1输入“字数”,在C2输入公式:LEN(B2)下拖,单击C2,单击工具栏上的“升序排列”即可,删除C列。排序字母与数字的混合内容日常使用中,表格经常会有包含字母和数字混合的数据,对此类数据排序时,通常是先比较字母的大小,再比较数字的大小,但EXCEL是按照对字符进行逐位比较来排序的,如下表:A7排在第5位,而不是第1位。排序结果无法令人满意。A1A1222A293A3174A435A76B207B38C1449C510C33AB1A7A0072A29A0293A43A0434A122A1225A317A3176B3B0037B20B0208C5C0059C33C03310C144C144如果希望EXCEL改变排序的规则,需要将数据做一些改变。在B1中输入公式:LEFT(A1,1)&RIGHT("000"&RIGHT(A1,LEN(A1)-1),3)下拖单击B2,单击工具栏上的“升序排列”即可。随机排序如A、B列分别为“歌手”和“歌名”,在C1输入“次序”,在C2输入公式:RAND(),下拖,单击C2,单击工具栏上的“降序排列”即可对歌曲清单进行随机排序。排序的问题我想要这样的排序:2001-20032004-20062007-20092010-2012;其实不是数据排序,应该是数据填充。输入公式=LEFT(E3,4)+3&"-"&RIGHT(E3,4)+3即可。怎样才能让数列自动加数怎样做才能让数列自动加数A A0001B B0001A A0002C C0001A A0003B B0002C C0002公式为=A1&"000"&COUNTIF(A$1:A1,A1)向下拖=TEXT(COUNTIF(A$1:A1,A1),"!"&A1&"0000")否则数字超过9就错误了。一个排序问题一个电子表格,格式是101、102.999,10101、10102.99901,1010101,1020201.9990101,请问如何将它排列成101,10101,1010101,102,10201,1020101,.999,99901,9990101的形式。我在数字前加了个字母,比如"d"&"数字",然后用排序就可以把它们按你的需求排列了.最后再把字母"d"去掉。数字的自动排序,插入后不变?1赵一总经理2赵二副经理3赵三副经理4赵四技术员5赵五6赵六员工如上的一个表,如何实现当我把赵六这一整行(第6行)插入到上面的表中时,A列的序列号不变?最后的效果如下:1赵一总经理2赵二副经理3赵六员工4赵三副经理5赵四技术员6赵五A1单元格输入公式=row(),往下拉,然后再插入。=SUBTOTAL(3,$B$2:$B2)在A1中输入公式:“=if(b1="","",counta($b$1:b1)”后下拉复制至A列各行即可(“”不必输入)筛选后自动产生序列号并汇总自动产生序列号:在A1输入以下公式,往下拖。=SUBTOTAL(3,$B$2:B2)*1自动汇总,用以下公式:=SUBTOTAL(9,$B$2:B2)说明:汇总时,不要在“全选”状态下进行,先“筛选”出某一单位,自动求和。然后再恢复到“全选”或者选择任何单位,就能自动汇总了(在“筛选”出某一单位进行求和时,一般表格会自动产生以上汇总公式)。其它:如同时要在其它单元格显示人数,在“全选”状态下,选定单元格,点“fx”(用“sum”函数)再点击序列号最末尾数,即可。如何筛选奇数行公式=MOD(A1,2)=1函数筛选姓名如何把两列中只要包含A和A+的人员筛选出来=IF(ISNUMBER(FIND("A",C2)+ISNUMBER(FIND("A",B2)>0,"OK","")名次筛选名次=RANK(K5,K$2:K$435)班名次=RANK(K6,OFFSET(K$2,MATCH(A6,A:A,)-2,COUNTIF(A$1:A$500,A6)如何实现快速定位(筛选出不重复值)=IF(COUNTIF($A$2:A2,A2)=1,A2,"")=IF(COUNTIF($A$2:A2,A2)=1)=TRUE,A2,"")=INDEX(A:A,SMALL(IF(MATCH(A$1:A$20,A$1:A$20,)=ROW($1:$20),ROW(A$1:A$20),65536),ROW()&""(数组公式)如何请在N列中列出A1:L9中每列都存在的数值=IF(ROW()>SUM(-x),"",INDEX(A:A,SMALL(IF(x,ROW($A$1:$A$9),ROW()自动为性别编号的问题有一个编码,5位,第1位,1为男,2为女,后面4位,代表他的编号,从0001-9999,如何达到下表:性别 编码男 10001男 10002女 20001男 10003女 20002男的也是从0001-9999女的也是从0001-9999如果你是已经输入了其它信息,仅仅为快速输入编码的话。用筛选可以实现吧。先以“男”为关键字进行排序,然后在第一个男的编码输入10001,下拉复制到最后一单即可。同理再以“女”排序。完成目标。用公式:=IF(A2="",TEXT(COUNTIF(A$2:A2,A2),"10000"),TEXT(COUNTIF(A$2:A2,A2),"20000")向下拖【文本与页面设置】EXCEL中如何删除*号在录入帐号是录入了*号,如何删除。可以用函数SUBSTITUTE(a1,"*","")查找*,替换为空。将字符串中的星号“*”替换为其它字符在查找栏输入*替换为“-”即可。去空格函数如何删去单元格中的空格,如姓名前,中,后的空格,即单元格中是两个字的人名中间有一个空格,想删去有何方法。如:中 国,改为:中国。1、用公式:=SUBSTITUTE(A2,"","")注:第一对双引号中有一空格。而第二个“”中是无空格的。2、利用查找替换,一次性全部解决。“编辑”“替换”(或Ctrl+H),在“查找”栏内输入一空格,“替换”什么也不输入(空白)。然后“全部替换”即可。3、有一个专门删除空格的函数:TRIM()在EXCEL编辑栏里,不管输中文还是英文只能输一个字节的空格,但如果字与字中间是两个字节的空格,那么TRIM()就不起作用了,它就不认为是一个空格,而是一个汉字,怎么去“TRIM”也没用。如:单元格A1中有“中心是”,如果用TRIM则变成“中心是”,想将空格全去掉,只能用SUBSTITUDE()函数,多少空格都能去掉。如何去掉字符和单元格里的空格8900079501890007950119000788011900078802=SUBSTITUTE(B2,"","")怎样快速去除表中不同行和列的空格编辑-定位-定位条件-空值,可选中所有空单元格,再删除。如何禁止输入空格在Excel中如何通过编辑“有效数据”来禁止录入空格?烦请大侠们费心解答。解答:有效性公式。=COUNTIF(A1,"*")=0(注:COUNTIF(A1,"*")在单元格有空格时结果为1,没有空格时结果为0如希望第一位不能输入空格:countif(a1,"*")=0如希望最后一位不能输入空格:countif(a1,"*")=0)代替单元格中字符串单元格编号,开始位数,从开始位数算起第几位数,要用于代替的的字符串。windows2000变成windows2K=REPLACE(B2,8,3,"K")单元格编号,要代替掉的字符,要用作代替的字符,第几个。代替单元格B391中的全部TT,改为UU。EETTCCTTFF变成EEUUCCUUFF=SUBSTITUTE(B394,"TT","UU")只代替单元格B391中的第一次出现的TT,改为UU。EETTCCTTFF变成EEUUCCTTFF=SUBSTITUTE(B397,"TT","UU",1)把单元格中的数字转变成为特定的字符格式函数中的第二个参数的双引号一定不能是中文格式的(不能用任意中文输入法输入的双引号。)实例:20000目的:变成带有美元符号的字符10000变成带有人民币符号的字符151581变成带有欧元符号的字符1451451变成中文繁体的字符15748415变成中文简体的字符操作步骤:=TEXT(B72,"$0.00")结果:$20000.00=TEXT(B73,"¥0.00")¥10000.00=TEXT(B74,"0.00")151581.00=TEXT(B75,"DBNum2G/通用格式")壹佰肆拾伍万壹仟肆佰伍拾壹=TEXT(B76,"DBNum1G/通用格式")一千五百七十四万八千四百一十五把有六百多个单元格的一列,变成一页的多列有一张表,共有14页,但每页只有一列,如何把他们整合在一起,变成一页(按每页的顺序),如果使用剪切和粘贴的方式,那样太麻烦。=INDIRECT("r"&(COLUMN()-3)*48+ROW()&"C1",0)复制到其他单元格将N列变M列公式归纳为=OFFSET($A$1,INT(ROW(A1)-12)*m+COLUMN(A1)-1)/n),MOD(ROW(A1)-1)*m+COLUMN(A1)-1,n)=OFFSET($A$1,INT(ROW(A1)-1)*7+COLUMN(A1)-1)/4),MOD(ROW(A1)-1)*7+COLUMN(A1)-1,4)四列变七列=OFFSET($A$1,INT(ROW()-20)*10+COLUMN()-1)/7),MOD(ROW()-20)*10+COLUMN()-1,7)七列变十列一列变四列=OFFSET($A$1,ROW($A1)*4-COLUMNS(C:$F),)=OFFSET($A$1,(ROW()-3)*4+MOD(COLUMN()-8,4),)=OFFSET($A$1,ROW(A1)*4-4+MOD(COLUMN()-13,4),)四列变一列=OFFSET($F$1,INT(ROW(1:1)/4+3/4)-1,MOD(ROW()-1,4)=OFFSET($F$1,INT(ROW(1:1)-1)/4),MOD(ROW()-1,4)=OFFSET($F$1,ROUNDUP(ROW(1:1)/4),0)-1,MOD(ROW()-1,4)=OFFSET($F$1,(ROW()-1)/4,MOD(ROW()-1,4)重复四次填充=TEXT(INT(ROW()/4+3/4),"00")=IF(TRUNC(ROW()-1)/4,0)<9,"0"&TRUNC(ROW()/4-0.01,0)+1,TRUNC(ROW()/4-0.01,0)+1)=TEXT(ROUNDUP(ROW()/4,),"00")=TEXT(ROW(2:2)/4,"00")多行数据排成一列a1b1c1d1e1f1g1h1i1a2b2c2d2e2g2h2i2a3c3d3g3h3i3a4c4g4h4i4A5c5g5h5g6a1a2a3a4A5b1=IF(ROW()>COUNTA($A$1:$I$10),"",INDEX($A$1:$I$10,MOD(SMALL(IF($A$1:$I$10<>"",ROW($A$1:$I$10)+COLUMN($A$1:$I$10)*100000),ROW(),100000),INT(SMALL(IF($A$1:$I$10<>"",ROW($A$1:$I$10)+COLUMN($A$1:$I$10)*100000),ROW()/100000)将单元格一列分为多列如果有一列资料需要分为多列,只要先将此列选中,然后再选择“数据”“分列”,此时会出现一个对话框,选“固定宽度”或“分隔符号”。如为前者则下一步后只要用鼠标轻点资料即可以按任意宽度进行分割了,如为后者则只要有明显的分隔符号即可,下一步后就可以自定义刚分的列的格式了,定好后就算完成了。步骤:1、先确定1列的最适合的列宽,再将其宽度乘以分成列数,即分列前的列宽=最适合的列宽×需分成的列数.2、编辑填充内容重排。3、数据分列。首写字母大写把单元格编号中的单词首写字母变成大写字母,其余字母变成小写。如china-China=PROPER(B160)把单元格编号中的小写字母变成大写字母lafayette148LAFAYETTE148=UPPER(B1)=LOWER(B1)(大写字母变成小写字母公式)让姓名左右对齐姓名用字,有的是三个汉字,有的是两个汉字,打印出来很不美观,要使姓名用字是两个字的与三个字的左右对齐也有两种方法:方法一:格式设置法。选中我们已经删除完空格的姓名单元格,单击“格式单元格”在打开的“单元格格式”对话框中的水平对齐方式中选择“分散对齐”选项,确定退出后即可使学生姓名用字左右对齐。方法二:函数公式法。利用Excel中的“IF”、“LEN”、“MID”三种函数组合可使姓名用字左右对齐。具体示例为:在C3单元格中输入公式:“=IF(LEN(B2)>=3,B2,(MID(B2,1,1)&&""&&MID(B2,2,1)”,确定后利用填充柄将该公式进行复制即可。数字居中而小数点又对齐可在小数点的任一边替无效的零加入空间,以便当格式设定为固定宽字型,小数点可以对齐。格式单元格数字自定义?.?-确定请问:小数点后的“0”还有办法显示吗?比如:2.012.001格式单元格数字自定义?.0?-确定计算指定单元格编号组中非空单元格的数量计算B252到B262之间的非空单元格的数量。=COUNTA(B252:B262)比较两个单元格内容是否一致74P12514874P125148比较单元格B53与C53中的内容是否一致。假如内容一致,那么返回值为TRUE,不一致的话,返回值为FALSE。=EXACT(B53,C53)结果:TRUE怎么样设置才能让这一列的每个单元格只能输入12位怎么样设置才能让某一列或某一行的每个单元格只能输入12位,(阿拉伯数字和26个英文字母在内,没有中文。)选中A列,设置数据有效性:自定义>公式:“=LEN(A1)=12”如何让工作表奇数行背景是红色偶数行背景是蓝色用条件格式=ROW()/2=INT(ROW()/2)设定颜色条件格式:公式为=MOD(ROW(),2)=0计算特定的一组单元格中,满足条件的单元格的个数仍以上题为例,计算三个人在B307到B313中各自所占的单元格数。李六的:=COUNTIF(B307:B313,B323)王武的:=COUNTIF(B307:B313,C323)陈丰的:=COUNTIF(B307:B313,D323)姓名:李六王武陈丰结果:322把文本格式的数字转换成真正的数字=VALUE(B1)设置页码如何设置“第×页,共×页”页码。在页脚中设置:第&页码页,共&总页码页即可Excel表格里如何插入页码的?我想把表格中的第1页的页码从第30页开始编,不知道该如何实现,哪位高手能帮忙?在页面设置的页眉页脚中设置。在插入页脚中输入页码+29即可。如何设置页脚首页为第5页Excel页脚设置页码是按顺序来的,首页为第1页。如何设置首页为第5页?在页脚输入“第&页码+4页”,结果本该显示“第1页”的就显示第5页了。(用于多个工作表全选)页面设置页面起始页码输入5(用于单个工作表)。表格的页脚问题是这样的,我每个表格有4张,总共一个文件里面有6个表格,相当于总共24页,我希望它能够自动打,而且我想设置页脚为,共24页,第?页,怎么办?试一试选择所有的工作表(工作组)然后再设置页脚,打印的时候也是用工作组打印。把所有工作表选中就可以了然后你再点打印,或者你先浏览,再设置也行!按shift依次点表单的标签。其实,就是在选择浏览或者打印前,先选中你想要的工作表,然后再一个个的浏览,就相当于你的操作对所有工作表都已经起了作用似的。请楼主试一试,按以下步骤办:1文件页面设置页眉/页脚页脚(F),选自己需要的页脚格式2文件打印整个工作簿。无拘无束的页眉页眉和页脚大家都用过吧?用得最多的莫过于当前第几页/总共第几页。但你是否想过将“第N页/总M页”无拘无束的放置,而不是只能置于页眉页脚中?,现教你一法,可以通用。到任何地方均可使用。首先:点CTRL+F3打开定义名称,再在上面输入“纵向当前页”,在下面引用位置处输入=IF(ISNA(MATCH(ROW(),GET.DOCUMENT(64),1,MATCH(ROW(),GET.DOCUMENT(64)+1)。然后再继续添加第二个名称:“横向当前页”,在下面引用位置处输入=IF(ISNA(MATCH(column(),GET.DOCUMENT(65),1,MATCH(column(),GET.DOCUMENT(65)+1)。再输入“总页”;引用位置处输入:=GET.DOCUMENT(50)+RAND()*0。最后再定义“无拘无束的页眉”;引用位置:="第"&IF(横向当前页=1,纵向当前页,横向当前页+纵向当前页)&"页/共"&总页&"页"。现在你在工作表任何处输入=无拘无束的页眉即可。本公式核心在于GET.DOCUMENT,这是4.0宏函数,OFFICE97及以前版专用,新版OFFICE中仍兼容,但只限定义名称中使用。在帮助中说(64和65为其参数):64行数的数组,相应于手动或自动生成页中断下面的行。65列数的数组。相应于手动或自动生成的页中断右边的列。"本公式中取64,用于计算当前行与分页符之前后关系.GET.DOCUMENT(64)即返回分页符所在行下一行之行号(亦即第二页第一行)。判断当前行是否大于分页符所在行“=IF(ISNA(MATCH(ROW(),GET.DOCUMENT(64),1”此句利用MATCH之模糊查找功能将当前行号与分页符下行(分页符下一行是一个单元N行的一维数组,文档有几页则有几行,本实例文档有三页,请看公式求值之计算图示)做比较,此处省略MATCH第三参数,即查找小于等于目标值,如果目标值大于当前行号,则MATCH返回错误值。那么此处再用IF(ISNA(),1)加以判断,即若找不到小于等于当前行号的值则显示1,表示当前行处于第一页。取得当前行所在页MATCH(ROW(),GET.DOCUMENT(64)+1如果前一个MATCH返回FALSE,则取IF函数第三参数值即MATCH(ROW(),GET.DOCUMENT(64)+1此参数再用MATCH在GET.DOCUMENT(64)产生的数组中查找当小于等于前行号的数值,若数组中第N个值小于等于当前行号,则当前行在N+1页。取得总页=GET.DOCUMENT(50)+RAND()*0GET.DOCUMENT(50)即求当前设置下欲打印的总页数,其中包括注释,如果文件为图表,值为1RAND()*0作用是当文件分页数改变时,本公式结果根随变化,起公式结果刷新作用。获取“横向当前页”横向当前页与纵向当前页原理相同,改ROW()为COLUMN(),并将GET.DOCUMENT参数改为65即可若你的工作表只有纵向分页或者横向分页,那么现在就可以使用前面的公式定义的名称获取当前页及总页了;但如果分页方式为横向多页纵向也多页呢?则在将以上“横向当前页”与“纵向当前页”无缝接合方可使用,否则将返回错误结果。最后生成“无拘无束的页眉”(或者改称文件分页)="第"&IF(横向当前页=1,纵向当前页,横向当前页+纵向当前页)&"页/共"&总页&"页"公式解说完毕!各位可以用不同的文字定义名称在各自的工作表中试用了。打印表头在Excel中如何实现一个表头打印在多页上?请选择文件-页面设置-工作表-打印标题-顶端标题行,然后选择你要打印的行。打印表尾,通过Excel直接提供的功能应该是无法实现的,需要用vba编制才行。Excel打印中如何不显示错误值符号在“页面设置”“工作表”“错误单元格打印为”中,将“显示值”改为“空白”即可。对于一些不可打印的字符的