朱克江在盐城市的流言:excel

来源:百度文库 编辑:中财网 时间:2024/05/11 19:18:01
=SUMPRODUCT(COUNTIF(A2:F2,A3:F3)) 
如何从两张excel表中提取数据,生成第三张表?
 悬赏分:15 - 解决时间:2008-6-27 21:20
表一:
A姓名 B身份证号 C金额
1 张三 642120197409020031 2100
2 李四 552120197509020031 3100
3 王五 693120197408020031 2000
4 陈三 642202197409020031 1000 表二:
A姓名 B身份证号 C账号
1 张三 642120197409020031 447940
2 李七 552120197509020031 447941
3 赵八 693120197408020031 447942
4 陈三 642202197409020031 447943 比较表一、表二,如果姓名此项完全相同,则生成表三
A B C D
1 张三 642120197409020031 447940 2100
2 陈三 642202197409020031 447943 1000只能用excel,我不是很熟悉,请把步骤说清楚一点,非常感谢!!! 提问者: qwinters - 试用期 一级 最佳答案
在Sheet3工作表的A2单元格中输入=VLOOKUP(A2,Sheet2!$A$2:$C$100,3,0),按"Ctrl+Alt+Enter"键结束;
在Sheet3工作表的B2单元格中输入=VLOOKUP(A2,Sheet2!$A$2:$C$100,2,0);
在Sheet3工作表的C2单元格中输入=VLOOKUP(A2,Sheet2!$A$2:$C$100,3,0);
在Sheet3工作表的D2单元格中输入=VLOOKUP(A2,Sheet1!$A$2:$C$100,3,0);
然后再将这四个公式向下复制。  0回答者: chensheyu - 高级经理 六级   2008-6-15 17:10
我来评论>>相关内容
  如何从两个Excel表中提取全部不同的数据生成单一的一...
  如何从多个Excel表中提取部分相同的数据生成单一的一...
  如何在Excel母表中提取我要的数据从而生成一张子表?
  EXCEL如何分别提取同一项的相同数据并分别生成一个新...
  excel怎样提取两张表中的相关数据组成一张新表
  更多相关问题>>
查看同主题问题: excel 提取 提取 数据 生成 
其他回答    共 3 条
ijioiu 回答者:匿名 2008-6-7 21:17
Sheet1!A1=IF(Sheet2!A1="","",Sheet2!A1) 回答者: 2005ac - 经理 五级   2008-6-7 21:19
将表二的内容复制到表三中
在D2输入
=VLOOKUP(A2,表1!A:C,3,FALSE)
然后向下填充.如果姓名相符的,就会出现金额.姓名没有在表一中找到的,就会出现N/A,你后你通过自动筛选,可以将N/A筛选出来,删除掉就可以了.  excel怎样提取两张表中的相关数据组成一张新表
 悬赏分:10 - 解决时间:2009-3-24 12:12
问题:我有两张独立的表,两张表中都有代码这一列,但是两张表中的代码不尽相同(大部分相同),顺序也不一样,我同时需要两张表上的内容,怎样将一张表上的内容按代码放到另一张上?其实就是按代码合并两张表的内容 提问者: hwei0819 - 江湖新秀 四级 最佳答案
比如说你sheet中有两列a、b,b是信息列,共10行
sheet2中只有a列
其中两页中a列是部分相同的
在sheet2的b1中输入=vlookup(a1,sheet1!a1:b10,2,true) 回车
之后向下拖就能实现了  0回答者: 髑自①人瀏蒗 - 江湖新秀 四级   2009-3-17 16:58
我来评论>>相关内容
  如何从两张excel表中提取数据,生成第三张表?
  关于excel表里引用另外一张表的相关数据
  从EXCEL表中提取部分数据到新工作表中,且新表随原表...
  如何在Excel母表中提取我要的数据从而生成一张子表?
  如何在excel中取出带有相同内容的行组成新表
查看同主题问题: excel 提取 相关数据 
其他回答    共 3 条
用VLOOKUP函数应该可以的,实在不行的话就把第二张工作表中的内容粘贴到第一工工作表中然后可以用排序的方法使代码相同的行按到一起了再做一些简单的处理就可以了。 回答者: zhaojs09222 - 助理 二级   2009-3-17 16:54
第一步:去掉新表中的重复代码(我的方法是:先按代码那一列排序,然后分类汇总,随便计数,求和都可,再按ctrl+g,把唯一的代码复制到新表中,用=LEFT(A2,(LEN(A2)-3)))。才能得到新的不重复的代码。
第二步:用VLOOKUP在独立的表中查找配对!
另:还是不懂,加我的QQ:119065617 回答者: 野佰 - 门吏 三级   2009-3-17 17:09
若方便,文件发过来看看(yqch134@163.com)   
select 表1.* 表2.分数 from 表1 inner join 表2 on 表1.考号=表2.考号 into table gg
use
use gg
set safety off
copy to 表1路径+表1  
Select A.学号,A.姓名,A.语文成绩,A.数学成绩,B.外语成绩 From A,B Where A.学号=B.学号 Order By 学号 Into File C
VFP表中的数据怎么合并?
 悬赏分:0 - 解决时间:2005-12-4 08:33
有两个字段名一样的.dbf表.怎么把表内的数据合并到一起 提问者: wwwchao - 见习魔法师 二级 最佳答案
进入其中一个数据库,运行以下命令(设W为另一个数据库的绝对路径)
append from W  
Excel数据合并
 悬赏分:5 - 解决时间:2009-3-27 10:27
A1姓名 B1学号 C1成绩 D1=? E1  F1  G1学号 H1 姓名 I1成绩 A-C 22OO行 G-I 1900行
需将G列与B列相同的学号所对应I列的成绩数据转入D列,请高手指教函数vlookup公式 ,谢谢! 提问者: 2688000 - 试用期 一级 最佳答案
不是太理解你的意思。
我理解是如果B=G时,D就取I的值。如果是这样
公式如下
D2
=if(b2=G2,vlookup(b2,$G$2:$I$1901,3,0),"")
再向下拖曳   excel 提取相同字符对应的单元格数据总合如A列下面有相同的字符怎样提取他相对应B列为值得数据并且加总。
例:A1为cas,B1为30。A5为cas,B5为50。最后加总80 提问者: cas517 - 试用期 一级 最佳答案
=sumproduct((a1:a100="cas")*(b1:b100))

=sumif(a1:a100,"cas",b1:b100)   如果表1里有姓名,表2里没有这个姓名,表一该姓名对应的数值则为零怎么办 提问者: 瓜德123456 - 助理 二级 最佳答案
=if(isna(公式),0,公式)  
其他回答    共 1 条
if(iserror(vlookup(  下班了,没时间写完整了   excel中如何把一个表的数据提取到另外一个表
 悬赏分:0 - 解决时间:2007-11-13 09:43
比如  表1里有
1 第一
3 第三
5 第五
7 第六
9 第四
11 第二
13 第八
15 第七
17 第九
21 第五
表2里有
1 第一
2 礼物
3 第三
4 道具
5 第五
6 硬件
7 第六
8 生活
9 第四
10 冰箱
我想把表2包含表1的数据给提取到表1 提问者: hhc306545344 - 试用期 一级 最佳答案
在表1的B列中用公式=INDIRECT("sheet2!A"&MATCH(A1,Sheet2!A:A,0)+1)
注意工作表的名称一定要是sheet1和sheet2,也就是没改过,否则请改为你改动后的工作表名称  
如何从excel中提取只有一个字符的单元格
 悬赏分:15 - 提问时间2009-4-15 13:37
比如:A1:A6单元格中的内容分别为:我、我们、他、她、他们、你们.如何从这些单元格中提取“我、他、她”的单个字的单元格出来?注:A1:A6只是例举的,实际需要提取的数据有5000多条。所以,请问有没什么公式或者方法可以快速做到?谢谢! 提问者: fjmay - 试用期 一级 其他回答    共 5 条
在B1里面输入以下公式后往下拖:
=if(len(a1)=1,a1,"") 回答者: jackychen0 - 副总裁 十级   2009-4-15 13:38
这公式看起来有点意思. 回答者: kgdyvnui - 高级经理 七级   2009-4-15 13:39
建立自动筛选
选 等于 条件里输入 ? 回答者: 成都豺狼 - 魔法师 五级   2009-4-15 13:56
那个公式用错了。
=IF(LENB(A1)=2,A1,"")如果用len()则不论一个英文字符或一个中文字符都会等于1了。 回答者:  bergyan - 助理 三级   2009-4-15 13:58
回答者: bergyan - 助理 三级   4-15 13:58楼上这个比较好  如何从excel某一单元格里提取一部分特定的数据?
 悬赏分:0 - 解决时间:2006-11-23 09:04
比如某一单元格的内容为
"8 YR
18000 FC
NOTE"
现在想提取其中的18000到另外一个单元格
请问使用什么方法?谢谢
注意“8 YR 18000 FC NOTE”是在一个单元格中,比如在A1里,现在想让18000出现在B1里 提问者: allkingfly - 秀才 二级 最佳答案
如果“8 YR 18000 FC NOTE”在一个单元格里没有换行,B1单元格公式如下:
=MID(A1,6,5)   excel单元格提取字符技巧问题
 悬赏分:200 - 解决时间:2009-4-20 14:58
例如,我现在有以下数据
    A              B            C
1 张小三12450
2 李小四456785
3 王小明8524
4 雷  锋782130现在的问题是,姓名跟数字都是在同一个单元格里边,想把姓名跟后边的数字分开提取出来,分别放到B列跟C列,该怎么提取,请给位达人赐教。高分回报!
问题补充:如下图
提问者: zztking - 魔法师 四级 最佳答案
b1=left(a1,3)
c1=mid(a1,4,len(a1))
下拉填充  5回答者: qfwqchlypmd - 举人 四级   2009-4-17 01:42
我来评论>>
提问者对于答案的评价:谢谢您的帮助
相关内容
  excel问题,提取单元格部分字符
  excel 单元格提取字符
  Excel单元格中提取特字符的公式
  EXCEL中如何提取单元格中最后一个字符
  excel,提取A单元格(从右往左第二至第七)字符
  更多相关问题>>
查看同主题问题: excel 单元格 提取 字符 技巧 
其他回答    共 14 条
貌似没有好的方法,只能手动做了 回答者: bslpf2006 - 江湖新秀 五级   2009-4-17 01:03
比如A1中是“张小三12450”B1中放姓名,你可以输入公式=mid(A1,1,3);C中放数字,你输入公式=mid(A1,4,@)这里的这个@实际上应该是一个数字的,这个值一定要大于或者等于A列中数字的长度,比如我刚说的这个例子,@的取值应该要大于等于5,否则,只能取到一部分数字。
上面举的例子是名字为三个字的,看到你出的名字有2个字的,两个字的时候公式则需要分别更改为mid(A1,1,2)和mid(A1,3,@).
希望能帮到你。 回答者: lovehoper - 秀才 二级   2009-4-17 01:49
在B1输入:
=LEFT(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789"))-1) 在C1输入:
=--MID(A1,LEN(B1)+1,LEN(A1)-LEN(B1))

=--RIGHT(A1,LEN(A1)-LEN(B1))
这时c1返回的数字是【数值】,可以运算用。 在C1输入:
=MID(A1,LEN(B1)+1,LEN(A1)-LEN(B1))

=RIGHT(A1,LEN(A1)-LEN(B1))
这时c1返回的数字是【文本】,不可以用来运算。 回答者: pwaters - 高级经理 七级   2009-4-17 02:26
我是用比较简单的思考方法。。。
水平只是普通的excel学者。。。。。 我用word里的文本和表格的转换来做的
需要手动加逗号 1把A列的东西复制到word里,在word里表现的是表格的形式
2全选,表格-转换-表格转换成文本,现在是文本的形式
3手动在文字和数字中间加上 英文输入法的“,”(占半个字符的逗号,这个很重要,不要搞错)
4(倒回第二步)全选,表格-转换-文本转换为表格 (选择 2 列)
5复制到excel里 end... 回答者: xiongyinan - 魔法师 四级   2009-4-17 08:53
用公式可以,如果觉得复杂就复制到文本里,再导入, 回答者: taomin0926 - 试用期 一级   2009-4-17 08:57
比较同意techie1982的说法。
不过鉴于你的全部是名字加数字,而中国人的名字又都在两个或三个,并且从你的图片上看,都是占六个字符,也就是宽度相同
可以直接用资料剖析,点选A栏,然后在资料--资料剖析--固定宽度,手动调节分栏线至张小三的“三”字后面,点选下一步完成就可以了 回答者: 葱茏香冷 - 江湖少侠 六级   2009-4-17 10:03
在B1输入公式:
=LEFT(A1,LEN(A1)-LEN(-LOOKUP(,-RIGHT(A1,ROW(1:20)))))在C1输入公式:
=-LOOKUP(,-RIGHT(A1,ROW(1:20)))两公式向下填充即可。 回答者: bluelaser - 总监 九级   2009-4-17 10:25
在B1、C1单元格分别输入:
=LEFT(A1,LENB(A1)-LEN(A1))
=RIGHT(A1,2*LEN(A1)-LENB(A1))
分别下拉复制B1、C1单元格即可。 回答者: 糊涂先生_tty - 总监 九级   2009-4-17 10:33
用 word 处理最简单
1、把整列复制上,在word 中粘贴。
2、光标移到开头处,按住alt+鼠标所选范围如:"张小三"一直往下托到"雷  锋”处剪切。
3、在excel中粘贴。完成
  前提必须规则,整齐。如不齐则用空格对齐重复。 回答者: 博彧穹鹄 - 初入江湖 三级   2009-4-17 16:57
在桌面上建立一个文本文档,将数据复制,粘贴到文本文档中.
接下来很重要,文本文档中名字与数字之间加一个空格,
第三步,在excel表格中,菜单->数据->导入外部数据->导入数据->选择你刚刚建立的文本文档,选择分割符号-下一步-空格(去掉TAB)-下一步-完成(对话框中能预览格式),OK !!
祝你成功!!
呵呵,我刚刚在GAOANG269那回答的.修正一下啊!我看你姓名上面有空格,这样用空格的分隔符不行,用逗号吧。 回答者: techie1982 - 助理 二级   2009-4-17 17:11
我来说一个方法 首先把数据复制到word里 ctrl+h 查找内容 ^#
替换为空 替换完毕以后就得到了中文 而没有了数字后就好办了 使用替换吧
比如 张小三12450
用word替换后得到 张小三 粘贴到B1中
在C1使用公式
公式如下 : =SUBSTITUTE(A1,B1,"")
即相当于 =SUBSTITUTE("张小三12450","张小三","")
得到的结果是 12450
最后复制 B列和C列 在B1处右键 选择性粘贴 粘贴为数值
OK 打完收工 回答者: 张光越 - 兵卒 一级   2009-4-17 18:48
这么整齐,当然复制到B列,然后用“数据”--分列--固定宽度即可 回答者: 九折臂 - 高级经理 六级   2009-4-17 20:27
b1=left(a1,3)
c1=mid(a1,4,len(a1)) 回答者: 2008lishi - 见习魔法师 二级   2009-4-19 16:55
如果名字为标准的三位
b1输入=left(a1,3)
c1输入=mid(a1,4,len(a1)-3)
把b1和c1向下填充如果不是:
1、复制表到word里选择性粘贴成文本
2、按ctrl+h调出替换,查找文字输入 ^#,即任意数字,替换为输入 -^& ,然后全部替换,结果为每个数字加上了一个-
3、把word里加上了-的文本复制到excel的一张新吧表的a列中
4、在b列输入=LEFT(A1,FIND("-",A1)-1) ,c列输入=SUBSTITUTE(MID(A1,FIND("-",A1)+1,LEN(A1)-FIND("-",A1)),"-","")
5、向下填充即可   excel 单元格提取字符
 悬赏分:0 - 解决时间:2006-12-14 14:24
我的数据是1000H,2000H,2010H,还有10000H以上的,有一千多个,有没有一个函数把这其中的H提出来就行了。 提问者: 自由格格 - 助理 二级 最佳答案
如果A1是1000H,则可以在B1输入
=SUBSTITUTE(A1,"H","")
这样在B1得到1000,对B列下拉即可实现对A列其它单元格的相似转换。
这里是将H替换为空。""表示空。  Excel单元格中提取特字符的公式
 悬赏分:50 - 解决时间:2008-12-10 13:28
单元格A1=12+sde3ewte*56*dsadas+ds12-ffd
像A1这样的有N个单元格,我想提取第2个乘号后面的三个字符,(第二个乘号在每个单元格内的起始位子都不固定)只用一个公式下拉就能把对应单元格中的三个字符都拉出来,这个公式如何实现请高人指教。
问题补充:首先谢谢你们,你们回答的都很正确,我不知道给谁,哎~提问者: i8222876 - 助理 三级 最佳答案
=MIDB(MIDB(A1,FIND("*",A1)+1,LEN(A1)),FIND("*",MIDB(A1,FIND("*",A1)+1,LEN(A1)))+1,3)有点长,不知道是不是适用你的实际情况,大体意思就是找到字符串中的第一个*号的位置,取其后的字符串,再在其中找第一个*号的位置,在它后面取3个字符  0回答者: 58607764 - 魔法师 四级   2008-11-27 15:53
我来评论>>相关内容
  在EXCEL的单元格A1中把第n个“,”和第n-1个“,”之间...
  怎样在excel中同一个单元格中用公式提取最大值的字母
  EXCEL中如何提取单元格中最后一个字符
  如何从excel中提取只有一个字符的单元格
  EXCEL如何用公式提取单元格内字母后面的数字
  更多相关问题>>
查看同主题问题: excel 单元格 提取 字符 公式 
其他回答    共 5 条
使用一个辅助列,如,C1=REPLACE(A1,FIND("*",A1),1,"@") 将第一个乘号替换成别的符号,如@
B1=MID(C1,FIND("*",C1)+1,3)  向下复制。 回答者: ngjtyw - 进士出身 八级   2008-11-27 15:43
=MID(MID(A1,FIND("*",A1,1)+1,LEN(A1)-FIND("*",A1,1)),FIND("*",C1,1)+1,3)
使用的就是mid函数和find函数的嵌套。=MID(
MID(A1,FIND("*",A1,1)+1,LEN(A1)-FIND("*",A1,1)),
FIND("*",C1,1)+1,
3
) 回答者: wxd465 - 试用期 一级   2008-11-27 15:53
在B1输入公式:=MID(A1,FIND("@",SUBSTITUTE(A1,"*","@",LEN(A1)-LEN(SUBSTITUTE(A1,"*",""))))+1,3)向下复制公式 回答者: bluelaser - 高级经理 六级   2008-11-27 15:55
A1=12+sde3ewte*56*dsadas+ds12-ffd
 而
MID(A1,FIND("*",A1,1)+1,LEN(A1)-FIND("*",A1,1))
为“取出字符串从第一个*到结束 ,再对该取字符串,结合MID(A1,FIND("*",A1,1)+1,3)用上式替换A1,
综合以上,所以可用下式达到你的要求:
 
=MID(MID(A1,FIND("*",A1,1)+1,LEN(A1)-FIND("*",A1,1)),FIND("*",MID(A1,FIND("*",A1,1)+1,LEN(A1)-FIND("*",A1,1)),1)+1,3)此式子经我验证,直接复制过去即可用。好运! 回答者: Tongxuexi - 高级经理 六级   2008-11-27 23:40
1、在B1单元格复制以下公式:
=MID(A1,FIND("*",RIGHT(A1,LEN(A1)-FIND("*",A1)))+FIND("*",A1)+1,3)
2、下拉复制B1单元格即可。 最实用小技巧,望各位高手加料!做最好的!
pipishuwsooo 2| 我的贴吧  | 我的俱乐部 | 我的消息(0/0) | 我的空间  | 百度首页  | 退出 我的贴吧 我的俱乐部 我的空间 主页|空间装扮博客|写新文章相册|上传照片好友|找新朋友档案|留言板                新闻   网页   贴吧   知道   MP3   图片   视频   百科    吧内搜索 | 帮助
进入贴吧 贴子搜索 按作者搜索  
 百度贴吧 > excel吧 > 浏览贴子 吧主:bengdeng 轻舟上逆 
  添加到搜藏 | 快速回复   贴吧投诉  
  
中式报表软件 面向构件的SOA..
符合中式报表的表格式,分块的特点,不会在有西式控件报表工具的格线..
www.primeton.com
excel服务器 绿色经济的解决..
IBM服务器,内含英特尔(R)至强(R)处理器,卓越功能,全面绿色解决方案..
www-900.ibm.com 来百度推广excel  
共有111篇贴子  1 [2] [3] [4] 下一页 尾页   
1 最实用小技巧,望各位高手加料!做最好的! 
 各位高手:用你们慷慨的智囊丰富大家的知识吧!欢迎批改!增删!
注:原著不是我! 请 谅 !!!望各位支持!顶!回贴! ■■如何对满足两个条件的单元格求和。
=sumproduct((A1:A10&B1:B10="某性别某部门")*C1:C10)   A B C D E
工号 部门 性别 E2输入工式
2 a2134 打钉 男 1 =sumproduct((A2:A23&B2:B23="打钉男")*C2:C23)
3 a2137 包装 女 3
4 a2140 打钉 男 5 得出123
5 a2143 打钉 女 7
6 a2146 包装 女 9
7 a2149 打钉 男 11
8 a2152 打钉 女 13
9 a2155 包装 男 15
10 a2158 打钉 男 17
11 a2161 包装 女 19
12 a2164 打钉 男 21
13 a2167 包装 女 23
14 a2170 打钉 男 25
15 a2173 包装 男 27
16 a2176 打钉 女 29
17 a2179 包装 男 31
18 a2182 包装 女 33
19 a2185 包装 男 35
20 a2188 打钉 女 37
21 a2191 包装 男 39
22 a2194 包装 女 41
23 a2197 打钉 男 43 以下问号中未求证??????    =SUM(IF($B$2:$B$10="某性别",IF($A$2:$A$10="某部门",$C$2:$C$10,0),0))
用条件求和向导,六七个条件都可以求和的。而且操作起来方便,对不懂函数的朋友很适用  ??????? sum((a1:a10=条件一)*(B1:B2=条件二)*C1:C10)然后按CTRL+SHIFT+ENTER  
 
  ■■目的:对比两张工作表,不同之处显示出来 
这两个表是sheet1与sheet2,再新表sheet3中的A1格设定公式: 
=IF(Sheet1!A1=Sheet2!A1,"","不同") 
然后填充这个公式,使其区域与表sheet1和sheet2的数据区域相同,当两个表的内容不同时,在表sheet3就会出现“不同”的字样。 ■■这个函数应该比较少人用,但我觉得挺好的.  IsError() '当发生错误时条件为真.  例如: 
=VlookUP(A1,B2:B10,2,0) ' 在B2:B10的范围内查找A1单元格的内容,返回查找到的行的第2列 
 ' 的值. 
 ' 当查打不到时就会发生错误,单元格会出现 "#NUM!"   这样如果有公式计算这个单元格的值时,就会出现计算结果错误,这时你可以这样:  =IF(IsError(vlookUP(A1,B2:B10,2,0)),"",vlookUP(A1,B2:B10,2,0)) '如果查找不到,这个单元格的值就是空的,否则找到了,就显示结果. 
■■VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)  假如,你要在表1A列里填个姓名,B列就自动查找表2里的这个姓名对应的身份证号(表2,是人事资料),可以这样.       表1            表2 
 A        B      A   B     C 
姓名 身份证号  姓名 性别 身份证号 
张三 123456789 张三  X   123456789  在表1的B2输入   =VLookUP(A2,表2!A1:F100,3,0) 
'在表的A1:F100范转内查找第一个姓名为张三的,再返回第三列的值."0"是精确查找,SORRY!还有其他参数请自己查帮助吧,这里只我怎么用而已. ^-^  注意:VLookUP要求查找的目标必须在查找范围的第一列(那么这个例子表2的A列就是要查的姓名的列,如果B列才是姓名,那就要改成B1:F100了),返回值也是以设定范围内第一列为1,所以本例的身份证号是3列.还得注意的就是要返回的内容必须在查找范围的右边,按本例来说,就是身份证号不能在姓名的前面了,这函数是有点局限性,^O^,但我还是觉得不错的.  加上刚才讲的排错用的函数这里可以写成: 
=IF(IsError(VLookUP(A2,表2!A1:F100,3,0)),"",VLookUP(A2,表2!A1:F100,3,0))  ■■excel公式编制,哪位帮忙解决一下?  
 A1为存款金额,A2为存款日期,A3取款日期,A4统计日期,A5为剩余金额。要求:该笔存款未被支取或支取日期大于统计日期,则剩余金额为存款金额,否则为剩余金额为零。  
 
设定在A5格的公式:“=IF(OR(ISBLANK(A3),A3>A4),A1,0)” 
解释:当A3格为空或A3格的日期大于A4格的日期时,值为A1格,否则为零。 
■■每隔三行求和  
5     ←这



9     ←这
10 
11 
12 
13    ←这
 
 
 
 作者:love菜虫2006-2-10 20:55 回复此发言   
 
--------------------------------------------------------------------------------
 
2 最实用小技巧,望各位高手加料!做最好的! 
 14 
15 
16 
17    ←这
18 
19 
20 
21    ←这
22 
23 
24 
25    ←这
26 
在B1输入=SUM(IF(MOD(ROW(A1:A22),3)=1,A1:A22))即可。 
若是每4行或者5行求和,只要将公式中3改一改即可。 
 
=SUM((MOD(ROW(A1:A22),3)=1)*A1:A22) ■■我想得到最大数值的对应日期,应该用什么函数? 05-7-1    5 
05-7-2    6 
05-7-3    7  最大值用max 寻找可以用VLOOKUP ,MATCH,INDEX,OFFSET等相结合,解法就很多了了。 
设数据在A1:B3,给出一个解法: 
=INDEX(A1:A3,MATCH(MAX(B1:B3),B1:B3,0))  ■■一个单元格内有N多9位数的数字,它们之间有的用的分号或顿号隔开着,怎样把每一个9位数的数字,分别放在一张新工作表的每一个单元格内.
数据/分列——里面选择分隔符号——再选上分号与其它,其它后填入顿号即可。  ■■Excel中,查找相同记录的问题(扩展问题)  
 假设我的Excle表格中B列存在相同数据,那么我可以用=countif($B:$B,B1)>1来找出这些相同数据,这时候系统会把B列中所有的相同数据找出来. 可是,如果我只想要系统把从某个单元格往后的数据相同的记录找出来,该如何做. 
例: 
A  B      C  
0  name      phone   我现在的问题是只想要系统把跟B8往后相同记录 
1  张三    ***    的数据在B列中给我找出来. 呵呵,问题 
2  李四    ***    困扰了我好久.先谢过高手的指点.(打 
3  王五    987      星号的是我想要的内容) 
4  钱六    *** 
5  李四    ***  
6  张三    *** 
7  王五    756  8  李四    456* 
9  钱六    564* 
10 张三    456*  
 
选定B2到B8,设定公式 
=countif($B$14:$B$16,B2)>0  ■■每阁3行设置行高为28.5  

2    ←设置这行 



6    ←设置这行 



10   ←设置这行 
11 
12 
13 
14   ←设置这行 
15 
 
下面这个宏是一个选择等差行的宏: 
使用方法(按上例),选择第二行到第五行,再运行此宏。 
Sub SelectRange() 
'按选择区域给定参数选择等差行 
Dim i As Integer, XRan As Range 
If Selection.Areas.Count > 1 Then 
 MsgBox "选择区域应为连续区域!", vbExclamation, "错误" 
ElseIf Selection.Row > ActiveSheet.UsedRange.Rows.Count Then 
 MsgBox "选择区域应在使用区域内!", vbExclamation, "错误" 
Else 
 Set XRan = Rows(Selection.Row) 
 For i = Selection.Row + Selection.Rows.Count To _ 
 ActiveSheet.UsedRange.Rows.Count Step Selection.Rows.Count 
 Set XRan = Union(XRan, Rows(i)) 
 Next 
 XRan.Select 
End If 
End Sub  
■■请教身份证号码取性别。  
 A1全是15位的身份证号码,当第15位为单数时就为男,双数为女,请问这个如何设置?谢谢。  
 
=IF(MOD(RIGHT(A1,1),2),"女","男") 
=IF(ISODD(RIGHT(A1,1)),"女","男") 也可以的。
=IF(ISODD(RIGHT(A1,1)),"女","男") 
=IF(GCD(A1,2)-1,"女","男") 既然都是15位的,就没必要用RIGHT截取了。
■■如何在另一EXCEL表格中查找想要的字符并合并?  
 例如: 
表1: 
a    w1 
b    w2 
c    w3 
a    w4 
以上的w1,w2,w3,w4为字符.  表2: 
a    

c  表2的第二列为空,现想把表1的数据查找并合并成表2,想要的结果如下: 
a  w1/w4 
b  w2 
c  w3  目前用的VLOOKUP,只能得到结果: 
a    w1 
b    w2 
c    w3  其中好象搜索到了一行“a ”以后,返回第二列,就不再往下搜索了,请高手指点如何做啊!!!简单的表格查下就行了,但数千行的表格,不知道有多少行是相同的,难以完成啊,用分类汇总,还要把想要的字符一个个的拷贝,非常麻烦,请高人指教。 
 
 
 
 作者:love菜虫2006-2-10 20:55 回复此发言   
 
--------------------------------------------------------------------------------
 
3 最实用小技巧,望各位高手加料!做最好的! 
  
我用VBA解决这个问题: 
Sub Text() 
Dim SH1 As Worksheet, SH2 As Worksheet, TRan As Range, i, j 
Set SH1 = Worksheets(1) 
Set SH2 = Worksheets(2) 
j = 1 
For i = 1 To SH1.Range("A65536").End(xlUp).Row 
 If WorksheetFunction.CountIf(SH2.Columns(1), SH1.Cells(i, 1).Value) = 0 Then 
 SH2.Cells(j, 1).Value = SH1.Cells(i, 1).Value 
 SH2.Cells(j, 2).Value = SH1.Cells(i, 2).Value 
 j = j + 1 
 Else 
 Set TRan = SH2.Range("A1").Offset(WorksheetFunction.Match(SH1.Cells(i, 1).Value, SH2.Columns(1), 0) - 1, 1) 
 TRan.Value = TRan.Value & "/" & SH1.Cells(i, 2).Value 
 End If 
Next 
End Sub  ■■如何用VBA编码让当B列有数据时,A列自动编号  
 不好意思,这才是最终版.完全的解决了删除时的错误.(*^-^*)  Private Sub Worksheet_Change(ByVal Target As Range)  Application.EnableEvents = False  If Target = "" Or Selection.Count > 1 Then 
 Application.EnableEvents = True 
 Exit Sub 
End If  If Target.Row = 1 Then 
 Cells(Target.Row, 1).Formula = 1 
 Application.EnableEvents = True 
 Exit Sub 
End If  Cells(Target.Row, 1).Formula = "=MAX($A$1:A" & Target.Row - 1 & ")+1"  Application.EnableEvents = True  End Sub  
 
楼主问的是用VBA,个人认为,如果是出于学习VBA的目的,这一问没什么问题,但应用方面的话,还是用函数来解决这个问题好一点,因为用Worksheet_Change事件的话,当任意单元格有变动都会去运行代码,效率不高的. 
如果用函数,设第一行为标题,从第二行起,设定公式: 
=IF(ISBLANK(B2),"",COUNTA($B$2:B2))  ■■求自动编号之函数公式  
A列  B列     C列 
1    WEW     ¨¨ 
2    1 AFWEF ¨¨ 
3    FW      ¨¨ 
4    2 ADD   ¨¨ 
5    3 AEF   ¨¨ 
6    EFE     ¨¨ 
7    4 AWWE  ¨¨ 
8    DFGR    ¨¨ 
9    HRT     ¨¨ 
10   5 AWER  ¨¨ 
见上表。 
结果显示在A列,若B列某单元格第一个字母为“A”,则编号为1,“A”再次出现时编号为2,若首字母非“A”,则编号为空。  
 
=IF(LEFT(B1,1)="A",SUM(IF(LEFT(B$1:B1,1)="A",1)),"") 
上面的公式工用数组公式,而从juyouhh 的贴子中,可以看到用SUMPRODUCT的普通公式来代替Sum与IF相结合的数组公式 
=IF(LEFT(B1,1)="A",SUMPRODUCT((LEFT($B$1:B1,1)="A")*1)*1,"") 
遇到这种问题,首先应该想到COUNTIF,因为它是接受统配符的。 
=IF(LEFT(B1,1)="A",COUNTIF(B$1:B1,"A*"),"")  ■■很实用的题目 
A1是标题:“姓名”,B1是标题:“分数”。 
A2:A31是30个不同的姓名 
B2:B31是对应的分数 
分数前十名为A类,中十名为B类,后十名为C类  要求在D2:D4中,分别计算出A,B,C各类前三名的平均分数。 
注意:不要用辅助列,不能各自设置公式,而是统一公式。并希望看到简明的VBA解决方案。 =AVERAGE(LARGE(B$1:B$31,(ROW(A1)-1&(ROW(A$1:A$3)))))  C2=AVERAGEA(LARGE(B$2:B$31,ROW(A$1:A$3)+(ROW()-2&0)*1)) 
再向下拉。
单以公式长度来说, 
=AVERAGE(LARGE(B$2:B$31,(ROW()-2)&ROW(A$1:A$3)))最简单。 
公式输入在C2  ■■求100的开1到100次方之和  
 要求: 
1.求100开1次方,再开2次方,再开3次方,直到开100次方,再将100个结果求和。 
2.必须用公式求出。 
3.只能用一个公式,在个单元格中得出结果。补充:不是对前一个结果开方哟,每一次开方都以100为底。 
 
求100的开1到100次方之和  
 要求: 
1.求100开1次方,再开2次方,再开3次方,直到开100次方,再将100个结果求和。 
2.必须用公式求出。 
3.只能用一个公式,在个单元格中得出结果。 
 
 
 
 作者:love菜虫2006-2-10 20:55 回复此发言   
 
--------------------------------------------------------------------------------
 
4 最实用小技巧,望各位高手加料!做最好的! 
  
■■关小写金额转换成大写金额的公式!
假设A1是小写,A2是大写 
用以下公式即可 
=SUBSTITUTE(SUBSTITUTE(IF(A2<0,"负","")&TEXT(TRUNC(ABS(ROUND(A2,2))),"[DBNum2]")&"元"&IF(ISERR(FIND(".",ROUND(A2,2))),"",TEXT(RIGHT(TRUNC(ROUND(A2,2)*10)),"[DBNum2]"))&IF(ISERR(FIND(".0",TEXT(A2,"0.00"))),"角","")&IF(LEFT(RIGHT(ROUND(A2,2),3))=".",TEXT(RIGHT(ROUND(A2,2)),"[DBNum2]")&"分",IF(ROUND(A2,2)=0,"","整")),"零元零",""),"零元","") 
不好意思,这条公式非常好用。开始不成功的原因是按楼主提供的A2输入公式,使用替换功能将A2替换成A1后就成功了。不好还是劳烦楼主解释一下三楼那两条公式的含义。这条公式我也找了好久,在这谢谢楼主了。
TRUNC函数 
将数字的小数部分截去,返回整数。 
语法 
TRUNC(number,num_digits) 
Number 需要截尾取整的数字。 
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。 
说明 
函数 TRUNC 和函数 INT 类似,都返回整数。函数 TRUNC 直接去除数字的小数部分,而函数 INT 则是依照给定数的小数部分的值,将其四舍五入到最接近的整数。函数 INT 和函数 TRUNC 在处理负数时有所不同:  ABS函数 
返回数字的绝对值。绝对值没有符号。 
语法 
ABS(number) 
Number 需要计算其绝对值的实数。
■■如何求这样的数的平均数。  
 在一列有三十个数的数中,如何得到前二十名的平均数。因为有很多列这样的数要求,所以 
如果一列一列地排序求很麻烦,想用函数来求但是不知道该如何使用。 
 
数组公式 
=AVERAGE(LARGE(A1:A30,ROW(1:20)))   这是数组公式,输完公式后需按CTRE+SHEET+ENTER。 ■■自定义格式精彩应用
1、隐藏数据:格式——;;; **;**;**。 
2、将数据直接变成万为单位:也有两种,保留1位与4位数。 
#!.0,"万元" #!.0000"万元" 
3、按小数点对齐。#.???其中几个?即几位。 
4、按条件颜色。格式——[绿色][>=60]G/通用格式;[红色]G/通用格式 
即大于等于60为绿小于为红,可以为条件格式的一个补充(条件格式只能有三种) 
5、将00000000格式的数据转化为日期格式。 
0000"."00"."00 0000"-"00"-"00 
6、小写中文时11~19会变成一十一~一十九,我要的是十一~十九,怎么办? 
[>20][DBNum1];[DBNum1]d 
7、怎么让新工作表中有自定义的格式——做成模板!! 
8、VBA中的可以用Format格式化输出,同样也可以利用WorksheetFunction.TEXT函数输出一些自定义的格式。  ■■大家知道,通过自定义格式常常可以解决一些显示问题:如需要在单元格中显示为:123人,456.00元、ABCD00789,实际上单元格内容仅仅为:123、456、789,这样的问题我们常常都通过自定义格式来实现,在显示上能够满足要求。
但如果有这样一个需求:需要将显示内容直接转换成单元格实际内容?那又该如何快速转换呢?
首先选择区域,再连续按两次Ctrl+C,然后选择office粘贴板中的数据框中的下拉按钮,出现快捷菜单,选粘贴,然后右键点击选择区域,选择性粘贴-〉文本。 ■■选择等差行
在日常应用中,我们经常遇到这样的操作,每隔相等的几行,要重复做相同的事情。比如做工资条要打印时,每条记录前插入一个标题列;每隔N行的行高,统一调整为X高等。用常规的操作,如果数据少的话还可以承受,但数据量一大,就变成一件苦差事了。
    下面这个宏,能够按指定的选择来选择等差行,选选择N至N+M行,然后再运行此宏,就可以选择从N行开始,每隔M行至到数据结束的行了,代码如下: Sub SelectRange() 
'按选择区域给定参数选择等差行 
Dim i As Integer, XRan As Range 
If Selection.Areas.Count > 1 Then 
 MsgBox "选择区域应为连续区域!", vbExclamation, "错误" 
ElseIf Selection.Row > ActiveSheet.UsedRange.Rows.Count Then 
 
 
 
 作者:love菜虫2006-2-10 20:55 回复此发言   
 
--------------------------------------------------------------------------------
 
5 最实用小技巧,望各位高手加料!做最好的! 
  MsgBox "选择区域应在使用区域内!", vbExclamation, "错误" 
Else 
 Set XRan = Rows(Selection.Row) 
 For i = Selection.Row + Selection.Rows.Count To _ 
 ActiveSheet.UsedRange.Rows.Count Step Selection.Rows.Count 
 Set XRan = Union(XRan, Rows(i)) 
 Next 
 XRan.Select 
End If 
End Sub  这下,你是不是不用在为类似的操作感到烦恼的*~_~*。
■■给大家几个好用的自定义函数  
 我在别的网页发现几个自定义函数,觉得很有用,现转给大家,希望能给需要的朋友带来帮助。 
Function 求数字(对象 As String)'在文本与数字混杂中提取数字 
   Dim myReg 
   Set myReg = CreateObject("vbscript.Regexp") 
   myReg.Global = True 
   myReg.Pattern = "[^\d/+]" 
   求数字 = myReg.Replace(对象, "") 
   Set myReg = Nothing 
End Function 
Function 求文本(对象 As String)'在文本与数字混杂中提取文本 
   Dim myReg 
   Set myReg = CreateObject("vbscript.Regexp") 
   myReg.Global = True 
   myReg.Pattern = "[1234567890]" 
   求文本 = myReg.Replace(对象, "") 
   Set myReg = Nothing 
End Function  Function 排名次(对象 As Range, 对象集合 As Range) 
    a = 对象.Address 
    b = 对象集合.Address 
    c = "SUM(($A$2:$A$9>=A2)*1/COUNTIF($A$2:$A$9,$A$2:$A$9))" 
    d = Replace(c, "$A$2:$A$9", b) 
    e = Replace(d, "A2", a) 
    排名次 = Application.Evaluate(e) 
End Function 
Function 求唯一值(rng, y) 
    a = rng.Address 
    i = y.Address 
    b = "IF(SUM(1/COUNTIF($A$2:$A$9,$A$2:$A$9))>=ROW(A1),INDEX($A$2:$A$9,SMALL(IF(ROW($A$2:$A$9)-1=MATCH($A$2:$A$9,$A$2:$A$9,0),ROW($A$2:$A$9)-1),ROW(A1))),"""")" 
    c = Replace(b, "$A$2:$A$9", a) 
    d = Replace(c, "A1", i) 
    'MsgBox d 
    求唯一值 = Application.Evaluate(d) 
End Function  
 
■■计算授课天数
企业、学校等单位均存在许多管理计算问题,例如计算一个学期有几个授课日、企业在多少个工作日之后交货等等。今天先介绍计算授课天数。    (1)函数分解    NETWORKDAYS函数专门用于计算两个日期值之间完整的工作日数值。这个工作日数值将不包括双休日和专门指定的其他各种假期。    语法:NETWORKDAYS (Start_date,End_date,Holidays)    Start_date表示开始日期;End_date为终止日期,Holidays表示作为特定假日的一个或多个日期。这些参数值既可以手工输入,也可以对单元格的值进行引用。    (2)实例分析    假设新学期从2003年9月1日开始到2004年1月15日结束,希望知道本学期有多少个授课日,也就是排除双休日和国家法定假日外的授课工作日。这就是计算授课日数或工作日数的问题。    首先打开一个空白工作表,在A1、B1、C1单元格输入“开学时间”、“结束时间”、“法定节日”,然后在其下面的单元格内输入“2003-9-1”、“2004-1-15”、“2003-10-1” “2003-10-2”、“2003-10-3”和“2004-1-1”(后四项必须在C列的“法定假日”下)。    接着可以选中D2单元格,输入公式“=NETWORKDAYS(A2,B2,C2:C5)”。公式中A2引用的是学期(或工作)的开始日期,B2引用的是学期结束的日期,C2:C5区域引用的是作为法定假日的多个日期。输入结束回车即可获得结果95,即2003年9月1日到2004年1月15日,排除四个法定假日后的实际授课日是95天。  
 
 
 作者:love菜虫2006-2-10 20:55 回复此发言   
 
--------------------------------------------------------------------------------
 
6 总结也是一种学习的方法。 
 这些内容如果是老吧友,大家应该都看过,但要是找出其在原贴的位置,说真的还是真的不容易,应该感谢一下love菜虫 的总结,相信对不少朋友有帮助的。 
 
 
 作者:bengdeng2006-2-11 08:10 回复此发言   
 
--------------------------------------------------------------------------------
 
7 回复:最实用小技巧,望各位高手加料!做最好的! 
 谢谢吧主的赞美!各位有珍藏的就要拿出来让大家分享吧!顶啊! ■■自动出题让小学生做并检查    用Excel自动出题,就能实现自动出题、自动更新题目的目的。具体操作方法也非常简单。为了便于管理,先建立一个名称为乘法的文件夹,在这个文件夹里新建一个名称为出题的Excel文件(如图1所示)。A列、C列的函数公式是:“=INT(RAND()*(9-1)+1)”。公式意义是随机返回一个 1至9的整数,每次打开或关闭此文件,都会重新随机产生新的整数。    此文件使用方法也很简单:主要就是打开再关闭文件,关闭时出现“文件‘出题。xls’已被修改,是否保存其修改的内容?”提示框,单击[是]按钮即可。  自动判断   用Excel自动判断,就可以根据输入的数值,自动判断结果的正误。具体操作方法也非常简单。在乘法文件夹里再新建一个名称为练习的Excel文件   1. 在文件中,第1行、B列、D列输入文字即可。    2. A2单元格的函数公式是“=F:\乘法\[出题。xls]Sheet1!$A$1”。其实我们想实现的是练习文件的A2单元格等于出题文件A1单元格的内容,如果直接打公式可能比较麻烦,使用鼠标操作即可。同时打开出题和练习这两文件,先选中练习的A2单元格,按编辑公式栏的“=”,再切换到出题文件,选中A1单元格即可。其中公式里的“F:\乘法\[出题。xls]Sheet1!”表示的就是一个相对引用,会根据文件的存放位置自动变化,这里表示刚才建立的乘法文件夹是在F盘的根目录。根据相同的方法做完A列的A2至A11和C列的C2至C11单元格公式。    3. E列由练习人自己根据题目填写答案。    4. F2单元格的公式是“=IF(ISBLANK(E2),此题还没做!,IF(E2=(A2*C2),√,×))”。用ISBLANK判断做题人是否答题(如果E2单元格是空白单元格,就判定为没有答题;否则就判定为已经答题),没有答题就显示“此题还没做!”;已经答题的,就用IF进行判断答案是否正确,如果答案正确就显示“√”,答案错误就显示“×”,F3到F11单元格的公式使用填充柄向下拉即可。   此文件使用方法也很简单:打开文件,会出现“当前所要打开的文档含有到其他文档的链接,是否要使用其他工作簿中的改动更新当前工作簿?”提示框,选择 [是]按钮即可以开始答题。需要变换题目时,打开出题文件,保存后关闭,即可重新开始。为了使练习文件里的E列不留下答题的痕迹,可以将此文件设置为只读或关闭此文件时,不要保存,使得E列保持空白。 
■■如何在Excel里使用定时器 用过 Excel 97 里的加载宏 "定时保存" 吗?可惜它的源程序是加密的,现在就上传一篇介绍实现它的文档。  在 Office 里有个方法是 application.ontime ,具体函数如下:
expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
如果想进一步了解,请参阅 Excel 的帮助。  这个函数是用来安排一个过程在将来的特定时间运行,(可为某个日期的指定时间,也可为指定的时间段之后)。通过这个函数我们就可以在 Excel 里编写自己的定时程序了。下面就举两个例子来说明它。  1.在下午 17:00:00 的时候显示一个对话框。  Sub Run_it()
Application.OnTime TimeValue("17:00:00"), "Show_my_msg"
'设置定时器在 17:00:00 激活,激活后运行 Show_my_msg 。
End Sub Sub Show_my_msg()
msg = MsgBox("现在是 17:00:00 !", vbInformation, "自定义信息")
End Sub
2.模仿 Excel 97 里的 "自动保存宏",在这里定时 5 秒出现一次  Sub auto_open()
MsgBox "欢迎你,在这篇文档里,每 5 秒出现一次保存的提示!", vbInformation, "请注意!"
Call runtimer '打开文档时自动运行
End Sub Sub runtimer()
Application.OnTime Now + TimeValue("00:00:05"), "saveit"
' Now + TimeValue("00:15:00") 指定在当前时间过 5 秒钟开始运行 Saveit 这个过程。
 
 
 
 作者:love菜虫2006-2-11 11:13 回复此发言   
 
--------------------------------------------------------------------------------
 
8 回复:最实用小技巧,望各位高手加料!做最好的! 
 End Sub Sub SaveIt()
msg = MsgBox("朋友,你已经工作很久了,现在就存盘吗?" & Chr(13) _
& "选择是:立刻存盘" & Chr(13) _
& "选择否:暂不存盘" & Chr(13) _
& "选择取消:不再出现这个提示", vbYesNoCancel + 64, "休息一会吧!")中国公务网 2004-5-31 15:43:04
'提示用户保存当前活动文档。  If msg = vbYes Then ActiveWorkbook.Save Else If msg = vbCancel Then Exit Sub
Call runtimer '如果用户没有选择取消就再次调用 Runtimer
End Sub 以上只是两个简单的例子,有兴趣的话,可以利用 Application.Ontime 这个函数写出更多更有用的定时程序 ■■给大家分享一下多条件引之公式 
 VLOOKUP及HLOOKUP可进行条件引,大家都知道的,相信很多朋友工作中都在使用。但遇到多条件(如同产品有2至4个型号)时进接用VLOOKUP就不行了,下面总结四种方面,希望给需要的同仁带来帮助。 
如以下为SHEET1之参考资料: 
品名 型号 单价 
螺丝刀 六角 25 
螺丝刀 梅花 30 
钳子 大 10 
钳子 小 8 
SHEET2资料如下: 
品名 型号 单价 
螺丝刀 六角 
螺丝刀 梅花 
螺丝刀 六角 
螺丝刀 梅花 
钳子 大 
钳子 小 
在C列需要用公式引用SHEET1之单价,四种公式如下: 
=VLOOKUP(A2&B2,IF(COLUMN(A1:B1)=COLUMN(A1:A1),sheet1!$A$2:$A$110&sheet1!$B$2:$B$110,sheet1!$C$2:$C$110),2,) 
=INDEX(sheet1!C$2:C$110,MATCH(A2&B2,sheet1!A$2:A$110&sheet1!B$2:B$110,0)) 
=LOOKUP(2,1/((sheet1!$A$2:$A$110=A2)*(sheet1!$B$2:$B$110=B2)),sheet1!$C$2:$C$110) 
=SUMPRODUCT((sheet1!$A$2:$A$110=A2)*(sheet1!$B$2:$B$110=B2),sheet1!$C$2:$C$110) 
前两种为数组公式,建议大家使用时选第四种。 
  ■■单元格里有英文和数字还有汉字,如果只想保留英文和数字,删除汉字,用什么方法能实现批量删除?
汉字在后面 
=LEFT(A1,LEN(A1)*2-LENB(A1)) 
汉字在前面 
=RIGHT(A1,LEN(A1)*2-LENB(A1)) 
汉字在任意位置 
=REPLACE(A1,MATCH(" ",MIDB(A1,ROW(INDIRECT("1:"&LENB(A1))),1),),LENB(A1)-LEN(A1),"") 
可以重复使用任意位置公式,直到达到要求为止。 如果用VBA非常简单,自定义一个函数如下,应用范围更广。 
Function AA(dy) 
 m = Len(dy) 
 For n = 1 To m 
 temp = Mid(dy, n, 1) 
 For x = 49 To 122 
 If temp = Chr(x) Then 
 temp1 = temp1 & temp 
 End If 
 Next 
 Next 
 AA = temp1 
End Function 
但是有一点缺陷,处理标点时不够尽如人意 
  ■■求若干个单元格数值平方的和 =sumsq(a1:a10) 或 =sum(a1:a10^2) 再按ctrl+shift+enter 或 用SUMPRODUCT 
在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。  SUMPRODUCT(array1,array2,array3, ...)  Array1, array2, array3, ... 为 2 到 30 个数组,其相应元素需要进行相乘并求和。  数组参数必须具有相同的维数,否则,函数 SUMPRODUCT 将返回错误值 #VALUE!。 
函数 SUMPRODUCT 将非数值型的数组元素作为 0 处理。 用这个自定义函数,可以求任意区域任意次方之和,如A1:D50之二次方和,三次方和,四次方和等等--- 
Function 乘方和(底 As Range, 幂) 
 Dim 单无格 As Range 
 乘方和 = 0 
 For Each 单元格 In 底 
 和 = 单元格 ^ 幂 
 乘方和 = 乘方和 + 和 
 Next 单元格 
End Function  ■■如何使公式每秒钟重新计算一次?
宏代码如何? 
如某区域公式为=NOW(),现需要查看其每秒种钟之变化,让其自动每秒或者每分钟刷新。 
晕!每秒刷新一次!!有这个必要嘛!但可以用Ontime来完成. 
OnTime 方法 
请参阅 应用于 示例 特性 
安排一个过程在将来的特定时间运行(既可以是具体指定的某个时间,也可以是指定的一段时间之后)。 
 
 
 
 作者:love菜虫2006-2-11 11:13 回复此发言   
 
--------------------------------------------------------------------------------
 
9 回复:最实用小技巧,望各位高手加料!做最好的! 
 expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule) 
expression 必需。该表达式返回一个 Application 对象。 
EarliestTime Variant 类型,必需。设置过程开始运行的时间。 
Procedure String 类型,必需。设置要运行的过程名。 
LatestTime Variant 类型,可选。过程开始运行的最晚时间。例如,LatestTime 参数设为 EarliestTime + 30,当时间到了 EarliestTime 时,如果由于其他程序处于运行状态 Microsoft Excel 不处于“就绪”、“复制”、“剪切”或“查找”模式,则 Microsoft Excel 将等待 30 秒让第一个过程先结束运行。如果 30 秒内 Microsoft Excel 不能回到“就绪”模式,则不运行此过程。如果省略该参数,Microsoft Excel 将一直等待到可以运行该过程为止。 
Schedule Variant 类型,可选。如果该值为 True,则安排一个新的 OnTime 过程。如果该值为 False,则清除先前设置的过程。默认值为 True。 
说明 
使用 Now + TimeValue(time) 可安排经过一段时间(从现在开始计时)之后运行某个过程。使用 TimeValue(time) 可安排某个过程只运行指定的时间。 
示例 
本示例设置 15 秒后运行 my_Procedure 过程,从现在开始计时。 
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure" 
本示例设置 my_Procedure 在下午 5 点开始运行。 
Application.OnTime TimeValue("17:00:00"), "my_Procedure" 
本示例撤消前一个示例对 OnTime 的设置。 
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _ 
 Procedure:="my_Procedure", Schedule:=False 
插在模块中 Sub my_Procedure() 
 [A1] = Now() 
 [A1].NumberFormatLocal = "h:mm:ss" 
 Application.OnTime Now + TimeValue("00:00:01"), "my_Procedure" 
End Sub 那如何让这个宏在开启文件时自动运行呢?在ThisWorkbook 中的 Workbook_Open事件先调用这个my_Procedure
■■按颜色筛选数据
在使用Excel时,我们经常用设定单元格的颜色来区分一些内容,或者用颜色来标记一些相关的数据,而这时如果要将这些按填充颜色筛选出来,用平常的筛选又怎么做呢?
 这个问题可以插入一个辅助列来解决,而且还要用到EXCEL4.0的一个宏表函数:GET.CELL,现在的版本已经不能直接使用这个函数了,只能通过定义名称的办法间接使用。如果以填充颜色进行筛选,就要先通过GET.CELL宏表函数求出颜色值,然后再以这个值来进行筛选。具体步骤: 
 假设需要筛选的数据在表1的A列 
 1、活动单元格置于B1,在插入-名称-定义里定义一个名称,X=GET.CELL(38,SHEET1!A1)。
 2、在B1中输入=X。
 但一些时候,我们不希望插入一个辅助列,这时就只能用VBA来解决这个问题了。下面这段代码可以实现,除首行外,将当前单元格所在列数据与当前单元格不同颜色的行隐藏起来!
数据首行为标题列,如有其它情况或想法,请自行修改代码。 Sub FilterColor() 
Dim UseRow, AC 
UseRow = Cells.SpecialCells(xlCellTypeLastCell).Row 
If ActiveCell.Row > UseRow Then 
 MsgBox "请在要筛选的区域选择颜色条件格!", vbExclamation, "错误" 
Else 
 AC = ActiveCell.Column 
 Cells.EntireRow.Hidden = False 
 For i = 2 To UseRow 
 If Cells(i, AC).Interior.ColorIndex <> ActiveCell.Interior.ColorIndex Then 
 Cells(i, AC).EntireRow.Hidden = True 
 End If 
 Next 
End If 
End Sub  使用方法:先把条件颜色的单元格设定为当前单元格,再运行此宏即可。
附上Get.Cell的各参数代表的意义:  1 参照储存格的绝对地址 
2 参照储存格的列号 
3 参照储存格的栏号 
4 类似 TYPE 函数 
5 参照地址的内容 
6 文字显示参照地址的公式 
7 参照地址的格式,文字显示 
8 文字显示参照地址的格式 
 
 
 
 作者:love菜虫2006-2-11 11:13 回复此发言   
 
--------------------------------------------------------------------------------
 
10 回复:最实用小技巧,望各位高手加料!做最好的! 
 9 传回储存格外框左方样式,数字显示 
10 传回储存格外框右方样式,数字显示 
11 传回储存格外框方上样式,数字显示 
12 传回储存格外框方下样式,数字显示 
13 传回内部图样,数字显示 
14 如果储存格被设定 locked传回 True 
15 如果公式处于隐藏状态传回 True 
16 传回储存格宽度 
17 以点为单位传回储存格高度 
18 字型名称 
19 以点为单位传回字号 
20 如果储存格所有或第一个字符为加粗传回 True 
21 如果储存格所有或第一个字符为斜体传回 True 
22 如果储存格所有或第一个字符为单底线传回True 
23 如果储存格所有或第一个字符字型中间加了一条水平线传回 True 
24 传回储存格第一个字符色彩数字, 1 至 56。如果设定为自动,传回 0 
25 MS Excel不支持大纲格式 
26 MS Excel不支持阴影格式 
27 数字显示手动插入的分页线设定 
28 大纲的列层次 
29 大纲的栏层次 
30 如果范围为大纲的摘要列则为 True 
31 如果范围为大纲的摘要栏则为 True 
32 显示活页簿和工作表名称 
33 如果储存格格式为多行文字则为 True 
34 传回储存格外框左方色彩,数字显示。如果设定为自动,传回 0 
35 传回储存格外框右方色彩,数字显示。如果设定为自动,传回 0 
36 传回储存格外框上方色彩,数字显示。如果设定为自动,传回 0 
37 传回储存格外框下方色彩,数字显示。如果设定为自动,传回 0 
38 传回储存格前景阴影色彩,数字显示。如果设定为自动,传回 0 
39 传回储存格背影阴影色彩,数字显示。如果设定为自动,传回 0 
40 文字显示储存格样式 
41 传回参照地址的原始公式 
42 以点为单位传回使用中窗口左方至储存格左方水平距离 
43 以点为单位传回使用中窗口上方至储存格上方垂直距离 
44 以点为单位传回使用中窗口左方至储存格右方水平距离 
45 以点为单位传回使用中窗口上方至储存格下方垂直距离 
46 如果储存格有插入批注传回 True 
47 如果储存格有插入声音提示传回 True 
48 如果储存格有插入公式传回 True 
49 如果储存格是数组公式的范围传回 True 
50 传回储存格垂直对齐,数字显示 
51 传回储存格垂直方向,数字显示 
52 传回储存格前缀字符 
53 文字显示传回储存格显示内容 
54 传回储存格数据透视表名称 
55 传回储存格在数据透视表的位置 
56 枢纽分析 
57 如果储存格所有或第一个字符为上标传回True 
58 文字显示传回储存格所有或第一个字符字型样式 
59 传回储存格底线样式,数字显示 
60 如果储存格所有或第一个字符为下标传回True 
61 枢纽分析 
62 显示活页簿和工作表名称 
63 传回储存格的填满色彩 
64 传回图样前景色彩 
65 枢纽分析 
66 显示活页簿名称 
 
 
 作者:love菜虫2006-2-11 11:13 回复此发言   
 
--------------------------------------------------------------------------------
 
11 回复:最实用小技巧,望各位高手加料!做最好的! 
 大家顶啊!有就拿出来啊!
■■
■■
■■
■■
■■
■■
■■
■■
■■
■■
■■
■■
■■
■■
■■
■■
■■
■■
■■计算计件工资自动录入法 简单点,用vlookup()函数吧。 
如你在sheet1放置 
 A B 
1 货号 工价 
2 A01 100  那么你就可以在sheet2上这样做: 
 A B 
1 A01 =if(a1="","",vlookup(a1,sheet1!A:B,2,false)) 
其他类推...看看该函数的帮助吧。 
这样就可以达到输入货号(a1)之后,对应工价(b1)自动录入的效果了 先建立数据库:新建XLS("List.xls")文档,在A,B列分别输入货号,工价。如: 
Product Price 
 百度 10 
 雅虎 25 
 新浪 11 
... 
存盘。  然后,再新建XLS文档,在A2输入: 
=INDEX([List.xls]Sheet1!$A:$B, MATCH(A1,[List.xls]Sheet1!$A$1:$A$4,), MATCH("Link",[List.xls]Sheet1!$A$1:$B$1,)) 
然后在A1中输入货号,在A2就自动跳出工价了。
■■如何输入本月数据后,自动生成本月累计数据 
 sheet1 b2=20, c2=20 sheet2 b2=30,c2(自动生成)50 
即sheet2 c2=b2+sheet1 c2 
 sheet3 c2=b2+sheet2 c2 
...以此类推 你的意思是把SHEET1 - SHEET2 的B2单元格做统计是吧?  是的话公式如下:=SUM('Sheet1:Sheet2'!B2)
■■某一行的奇数列相加求和
是要得到A1+A3+A5+A7……,或A2+A4+A6+A8…… 
一、=SUM(MOD(COLUMN(A:Z),2)*A1:Z1) 
二、编辑-定位-定位条件-对象 
数组公式,按shift+ctrl+enter结束。
■■对A1至A21的区域进行每隔两行求和,也就是=SUM(A1,A4,A7,A10,A13,A16,A19)的和,数组公式该怎么写?请赐教.
=SUM((MOD(ROW(A1:A21),3)=1)*A1:A21) 
是数组公式,按shift+ctrl+enter结束 
 
如果不想修改公式,只需要设定为: 
=SUM((MOD(ROW(A2:A22),3)=MOD(ROW(A2),3))*A2:A22) 
即可通用了 
■■用EXCEL做一个9*9的乘法表,具体要求如下: 
在A2--A10,B1--J1中分别输入1--9,用复制公式的方法完成!
在b2输入=B$1*$A2 这个公司,拖就行了.应当是=$A2&"*"&B$1&"="&$A2*B$1 一串数值的累计值,例如:A1+A2,A1+A2+A3,A1+A2+A3+A4,.......,其结果在指定的单元格或单元区域内显示例如:数值 累计值 
 5 5 
 3 8 请在B1格输入以下公式下拉:
 8 16 =IF(ROW()=1,$A$1,A1+(OFFSET(B1,-1,0))) 
 6 22 
 12 34 =SUM(A$1:A1)
 10 44 
 7 51 
 8 59 B1=A1,B2=B1+A2,然后向下复制就可以了
 16 75  ■■要限制单元格中出现特殊字符 
我是这样做的在数据有效性自定义中写如下函数 
=AND((LEN(A1)<=15),ISERROR(FIND("<",A1)),ISERROR(FIND(">",A1)),ISERROR(FIND(",",A1)),ISERROR(FIND("?",A1)),ISERROR(FIND("/",A1)),ISERROR(FIND("\",A1))) 
但是双引号不能在禁止,大家有什么好方法??? CHAR(34)  ■■如何将时间单位“秒”改为“分” 
设X为时间“秒” 
X≤60为1分钟 =x/60 
X>60为2分钟 
X>120为3分钟 
X>180为4分钟 =roundup(x/60,0)
......以此类推 
 
■■一个关于大数字计算的问题
我单位需要在基于ACCESS的软件中输入大量身份证号码,输入后需要核对身份证号码是否重复,我选择了EXCEL进行筛选,如果单元格是文本的不方便筛选,如果是数据的18位身份证后三位就变成000了,在计算的时候也按000计算了,比如a1输入666666666666666123显示666666666666666000  a2输入666666666666666122也显示666666666666666000  a3输入公式=a1-a2得出结果=0,不知道该怎么筛选了,在EXCEL中大于15位的数字之间的运算时候能够实现?请高手们指教。
但是用的方法非常的麻烦,我是先分割文本然后转数值再用公式来解决的,你说的方法我尝试过了,用公式=COUNTIF(Sheet2!$A$1:$A$10000,A1),比如“Sheet2!$A$1:$A$10000”中存在文本“123456789012345000”和“123456789012345001”则在“Sheet1!$A$1:$A$10000”中的“123456789012345000”和“123456789012345001”后的公式里出现结果2 
简单说,公式COUNTIF只比较文本前十五位。我现在就是想知道不分割的前提下EXCEL是否能处理高于十五位的运算,
选中输入身份证那栏 ,然後设定 格式--格式化条件 输入公式:=OR(LEN(C59)=15,LEN(C59)=18) 每隔三行求和


7 在B1输入=SUM(IF(MOD(ROW(A1:A8),3)=1,A1:A8))即可.
8 若是每4行或者5行求和,只要将公式中3改一改即可.

10 
11 
12 
■■在word文档的某个段落 生成五位随机数!
要产生一个N到M之间的随机数,可以使用公式“Int(Rand()*(M-N+1))+N”,感兴趣的朋友可以试一试。
C++用的是rand()这个函数是用来产生随机数的,范围从0到RAND_MAX, 在中有这样一个定义: 
#define RAND_MAX 0x7fff //就是32767了  如果需要产生n到m范围内的随机整数,可以: 
int ans=rand()*(m-n)/RAND_MAX+n;  如果要产生精度更高、更加均匀的随机数,有一个简单的方法,是把若干15位随机数拼接成一个大随机数。比如:  __int64 a,ans=0; 
for(int k=0; k<4; k++) 

a=rand(); 
a<<=15*k; 
ans=ans|a; 
}  在matlab上测试其颗粒度与均匀性与专业函数产生的随机数性能有差距但不大。 ■■有关小写金额转换成大写金额的公式!
假设A1是小写,A2是大写
用以下公式即可 
=SUBSTITUTE(SUBSTITUTE(IF(A2<0,"负","")&TEXT(TRUNC(ABS(ROUND(A2,2))),"[DBNum2]")&"元"&IF(ISERR(FIND(".",ROUND(A2,2))),"",TEXT(RIGHT(TRUNC(ROUND(A2,2)*10)),"[DBNum2]"))&IF(ISERR(FIND(".0",TEXT(A2,"0.00"))),"角","")&IF(LEFT(RIGHT(ROUND(A2,2),3))=".",TEXT(RIGHT(ROUND(A2,2)),"[DBNum2]")&"分",IF(ROUND(A2,2)=0,"","整")),"零元零",""),"零元","") 
 
 
 作者:love菜虫2006-2-13 16:56 回复此发言   
 
--------------------------------------------------------------------------------
 
12 回复:最实用小技巧,望各位高手加料!做最好的! 
 ■■如何设置在Excel中某一单元格能够“四舍五入”,如2.1,保留整数 有一个RoundUp()函数,是向上舍入的。 
格式是,RoundUp(Range,Demical) 
Range就是你要取舍的单元格,Demical指的是要几位小数,如果不要小数,写0即可。
■■我说的不知道对不对, 
你的意思是 sheet100!A1=sheet99!A1=……sheet1!A1 
对吧 
不用表100=表99再=88这么麻烦 
就是所有的表的A1都等于表1的A1  这就简单了 
你先在sheet2!A1输入=sheet1!A1 
然后复制这个单元格(含公式) 
点住sheet3标签 ,按住shift键,再点sheet10 
这时你发现每个表的标签都被点住了,你在随便一个表的A1粘贴就行了。然后点第一个表的标签。你在第一个表的A1输入 中华人民共和国 其它表的A1就都变成 中华人民共和国 了。 
OK 
■■好办法
a b c 
张三 13512312312 
李四 13845645645 
王二 13978978978 
…………  a列为姓名,b列为手机号,能不能把b列的后4位前加66显示在c列?如:c1:662312 c2:665645 ……  ="66" & right(B1,4)  ■■计算计件工资自动录入法 简单点,用vlookup()函数吧。 
如你在sheet1放置 
 A B 
1 货号 工价 
2 A01 100  那么你就可以在sheet2上这样做: 
 A B 
1 A01 =if(a1="","",vlookup(a1,sheet1!A:B,2,false)) 
其他类推...看看该函数的帮助吧。 
这样就可以达到输入货号(a1)之后,对应工价(b1)自动录入的效果了 先建立数据库:新建XLS("List.xls")文档,在A,B列分别输入货号,工价。如: 
Product Price 
 百度 10 
 雅虎 25 
 新浪 11 
... 
存盘。  然后,再新建XLS文档,在A2输入: 
=INDEX([List.xls]Sheet1!$A:$B, MATCH(A1,[List.xls]Sheet1!$A$1:$A$4,), MATCH("Link",[List.xls]Sheet1!$A$1:$B$1,)) 
然后在A1中输入货号,在A2就自动跳出工价了。
■■如何输入本月数据后,自动生成本月累计数据 
 sheet1 b2=20, c2=20 sheet2 b2=30,c2(自动生成)50 
即sheet2 c2=b2+sheet1 c2 
 sheet3 c2=b2+sheet2 c2 
...以此类推 你的意思是把SHEET1 - SHEET2 的B2单元格做统计是吧?  是的话公式如下:=SUM('Sheet1:Sheet2'!B2)
■■某一行的奇数列相加求和
是要得到A1+A3+A5+A7……,或A2+A4+A6+A8…… 
一、=SUM(MOD(COLUMN(A:Z),2)*A1:Z1) 
二、编辑-定位-定位条件-对象 
数组公式,按shift+ctrl+enter结束。
■■对A1至A21的区域进行每隔两行求和,也就是=SUM(A1,A4,A7,A10,A13,A16,A19)的和,数组公式该怎么写?请赐教.
=SUM((MOD(ROW(A1:A21),3)=1)*A1:A21) 
是数组公式,按shift+ctrl+enter结束 
 
如果不想修改公式,只需要设定为: 
=SUM((MOD(ROW(A2:A22),3)=MOD(ROW(A2),3))*A2:A22) 
即可通用了  唔..唔...唔......没有人顶一下!心冷啊! 
 
 
 作者:love菜虫2006-2-16 22:23 回复此发言   
 
--------------------------------------------------------------------------------
 
13 回复:最实用小技巧,望各位高手加料!做最好的! 
 应邀顶一下。 
 
 
 作者:juyouhh2006-2-16 22:32 回复此发言   
 
--------------------------------------------------------------------------------
 
14 回复:最实用小技巧,望各位高手加料!做最好的! 
 非常感谢楼主的好意!
只是这样的排列不是很方便看,额外地提一下而已。 
 
 
 作者:220.170.240.*2006-2-17 12:45 回复此发言   
 
--------------------------------------------------------------------------------
 
15 回复:最实用小技巧,望各位高手加料!做最好的! 
 嗯,最好的格式是一个回复一个知识点,标题上总结这个知识点更为直观。 
 
 
 作者:bengdeng2006-2-17 13:01 回复此发言   
 
--------------------------------------------------------------------------------
 
16 回复:最实用小技巧,望各位高手加料!做最好的! 
 大家有好的精的绝的技巧也要奉献出来啊!独吃无味,共享无价!奉奉场啦! 
 
 
 作者:love菜虫2006-2-18 00:38 回复此发言   
 
--------------------------------------------------------------------------------
 
17 回复:最实用小技巧,望各位高手加料!做最好的! 
 楼主辛苦了,应该顶.
我在这里获益非浅,应当谢谢吧主及各位朋友! 
 
 
 作者:平定君2006-2-18 10:12 回复此发言   
 
--------------------------------------------------------------------------------
 
18 回复:最实用小技巧,望各位高手加料!做最好的! 
 顶一下 
 
 
 作者:kongkong21322006-2-20 09:45 回复此发言   
 
--------------------------------------------------------------------------------
 
19 回复:最实用小技巧,望各位高手加料!做最好的! 
 hlk 
 
 
 作者:221.193.236.*2006-2-24 23:52 回复此发言   
 
--------------------------------------------------------------------------------
 
20 回复:最实用小技巧,望各位高手加料!做最好的! 
 如果我要的是400行,那不是要输入400个,也不省事呀!例如(B1*C1,B2*C2,----------B400*C400),还是省事呀!!有没有更简单的办法!急!!急急急! 
 
 
 作者:221.193.236.*2006-2-24 23:54 回复此发言   
 
--------------------------------------------------------------------------------
 
21 回复:最实用小技巧,望各位高手加料!做最好的! 
 Excel怎么由身份证号码直接识别性别 
 
 
 作者:222.243.22.*2006-3-7 23:23 回复此发言   
 
--------------------------------------------------------------------------------
 
22 回复:最实用小技巧,望各位高手加料!做最好的! 
 15位的身份证最后一位与18位的身份证倒数第二位是性别的代码,其中单数为男,双数为女。
=IF(LEN(A1)=15,IF(MOD(RIGHT(A1,1),2),"男","女"),IF(LEN(A1)=18,IF(MOD(MID(A1,17,1),2),"男","女"),"无效身份证号码")) 
 
 
 作者:bengdeng2006-3-8 08:21 回复此发言   
 
--------------------------------------------------------------------------------
 
23 回复:最实用小技巧,望各位高手加料!做最好的! 
 关于VLOOKUP的使用,请教: 有个问题,写好一行的函数如:=VLOOKUP(B1,A2:C10,2) ,想往下面拖自动套用公式,这时候问题就出来了,不光前面的B1自动套用成B2,B3……,就连后面的A2:C10也自动套用成A3:C11,A4:C12……这时候就出现问题了,区域自动改变了。请问达人,如何才能只让前面自动套用而后面不变呢?谢谢! 
 
 
 作者:ken080072006-3-11 01:13 回复此发言   
 
--------------------------------------------------------------------------------
 
24 回复:最实用小技巧,望各位高手加料!做最好的! 
 改为:
=VLOOKUP(B1,$A$2:$C$10,2) 
 
 
 作者:bengdeng2006-3-11 08:47 回复此发言   
 
--------------------------------------------------------------------------------
 
25 回复:最实用小技巧,望各位高手加料!做最好的! 
 可以了
谢谢
但是这个是什么含义呢
$美刀真是无处不在啊? 
 
 
 作者:ken080072006-3-14 22:30 回复此发言   
 
--------------------------------------------------------------------------------
 
26 回复:最实用小技巧,望各位高手加料!做最好的! 
 绝对引用啊!按F4,每次它都会变啊!有它那一个行、列就不会变哟! 
 
 
 作者:love菜虫2006-3-14 23:07 回复此发言   
 
--------------------------------------------------------------------------------
 
27 回复:最实用小技巧,望各位高手加料!做最好的! 
 我有个教师任课明细表 
结构如下: 
A B C D E 
序号 班级 科目1 科目2 科目3 
1 班级1 数学 语文 政治 
 2*16 8*17 3*18 
 lw ll lq 
2 班级2 数学 语文 政治 
 2*16 8*17 3*18 
 lw zs ls 
3 班级3 数学 语文 政治 
 2*16 8*17 3*18 
 lw ll dg 
 先从此表第二列中查找到班级,然后依据班级横向找到科目,再根据科目下移两个单元格提取信息放到变量中显示出来。 
如:在第二列查找班级3后横向查找政治下移2个单元格提信息放到变量显示后应为:dg. 
请求VBA程序。谢谢! 
 
 
 作者:218.62.54.*2006-3-16 07:15 回复此发言   
 
--------------------------------------------------------------------------------
 
28 回复:最实用小技巧,望各位高手加料!做最好的! 
 离开一断时间,被遗忘了??? 
 
 
 作者:love菜虫2006-3-30 23:24 回复此发言   
 
--------------------------------------------------------------------------------
 
29 回复:最实用小技巧,望各位高手加料!做最好的! 
 顶顶菜虫的好东西!迟些我也加些上来! 
 
 
 作者:218.15.136.*2006-4-30 16:05 回复此发言   
 
--------------------------------------------------------------------------------
 
30 回复:最实用小技巧,望各位高手加料!做最好的! 
 ■■如何对满足两个条件的单元格求和。
不用公式也行 用条件求和向导(EXCEL2003加载方法:莱单 工具/加载宏/勾选条件求和向导) 
使用方法:选择统计区域/工具/向导/条件求和/下一步/选择求和列及添加条件(可添加多个)/下一步/输入想存放结果的单元格,如E20,点击完成即可。 
 
 
 作者:yl19642006-5-1 08:38 回复此发言   
 
--------------------------------------------------------------------------------
 
共有111篇贴子   1 [2] [3] [4] 下一页 尾页   
发表回复                
标 题:   
内 容:  
图片/视频链接:  (如何贴图/贴视频?)
用户名: pipishuwsooo 匿名发表 
验证码:  请点击后输入验证码,字母不区分大小写 
       
 2009 Baidu 贴吧协议 
Excel怎么在数据中提取数值
 悬赏分:5 - 解决时间:2009-1-9 11:46
比如A列一组数据A1=3254ASDF,A2=687RE,A3=95UR,A4=35GE,A5=65GE,……
在B列中的结果B1=3254,B2=68,B3=95,……
问题补充:123提问者: 狼云12 - 试用期 一级 最佳答案
在B1单元格中输入公式:
=LOOKUP(9E+307,--MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW(INDIRECT("1:"&LEN(A1)))))  0回答者: chensheyu - 高级经理 七级   2009-1-8 08:15
我来评论>>
提问者对于答案的评价:非常感谢  chensheyu  的帮助,同时也感谢其他朋友们的答案
相关内容
  excel表格怎么把一列中不重复的数据提取出来
  excel中用数据-汇总后在筛选里面怎么看不到啊?怎么...
  两个excel,怎么提取数据。
  Excel怎么提取中间数据?
  请教excel:怎么提取出两列数据里具有相同元素的那些...
  更多相关问题>>
查看同主题问题: excel 数据 数据 提取 数值 
其他回答    共 3 条
直接输入工式就行了 回答者: xueer1988129 - 助理 三级   2009-1-8 08:26
这件事用Word操作最省事:
一、把这个表考到Word里
二、Ctrl+H,全部替换,打开高级选项
三、查找内容填^$,即特殊字符-任意字母,替换为留空
四、全部替换所有字母被删掉。将结果考回Excel,1分钟搞定。 回答者: lincolny - 助理 三级   2009-1-8 08:37
个人也建议到word处理好,再拿到excel
如是要引用 的可用 chensheyu 所说的方法  
如何在EXCEL中统计不同分数段的人数?(COUNT函数的具体用法) 10分
回答:6   浏览:2299   提问时间:2006-03-31 20:51
value里要填写什么内容呢?
补充问题
我想知道60~70分数段的总人数 区域已选定 用COUNTIF函数
=COUNTIF(F3:F27,criteria)
请问criteria里应该填什么
是"<71&>59"还是"<71"&">59"
 共0条评论... 最佳答案 此答案由提问者自己选择,并不代表爱问知识人的观点 揪错 ┆ 评论 ┆ 举报
乘风追月
[学者] 前一段时间,我见两公式,能解决这个问题,但我在这方面是个新手,也不知道为什么。
公式一 =countif(f3:f27,">=60")-countif(f3:f27,">=70")
公式二 =SUMPRODUCT(((F3:F27)>=60)*((F3:F27)<70))
回答:2006-04-04 16:48
提问者对答案的评价:
恩!就是方法一~~~~厉害
 共0条评论...其他回答 共5条回答评论 ┆ 举报
小马儿
[大师] 1、
=COUNTIF(A1:A100,">=60") 这个公式表示统计数据区域A1:A100中大于等于60分的人数
2、查找和引用中一般常用如下公式:
=VLOOKUP(12,A1:D100,3,FALSE),表示在列A1:A100里查找12(或文本,及可以对单元格的引用),并横向返回C列中对应的数值(或文本)。FALSE:精确查找,也可以用0表示。 二条件下的统计方法用下二式均可:
{=SUM((F3:F27>=60)*(F3:F27<70))} (数组公式)
=SUMPRODUCT((F3:F27>=60)*(F3:F27<70))
回答:2006-03-31 21:20
修改:2006-04-04 22:04
 共0条评论...评论 ┆ 举报
蜀东游子
[新手] 统计分数段的人数是用countif函数或frequency函数,不是value函数。具体怎么用,看帮助吧,三言两语难说清
回答:2006-03-31 21:25
 共0条评论...评论 ┆ 举报
爱歌学习
[学姐] 看这里的 Sheet61 统计函数1 FREQUENCY
能不能看懂?
http://jsj.med.stu.edu.cn/file/chengjiao/courseware/videocourseo/jiangjie.xls
回答:2006-03-31 22:11
 共0条评论...评论 ┆ 举报
坚持到底
[新手] 60<单元格的引用<70
回答:2006-04-04 16:59
 共0条评论...评论 ┆ 举报
sager
[新手] 你的办法都是不可以的啊。
=countif(f3:f27,">=60")-countif(f3:f27,">=70")
这个是可以的啊。
=SUMPRODUCT(((F3:F27)>=60)*((F3:F27)<70))
这个不可以。
=FREQUENCY(E2:E220,{2;3;4})
还是可以的,就是比较麻烦。要枚举啊  成绩统计表2006-11-19 15:59       现在我们每年级是五个班,每班都不超过60人。我要统计的是八年级物理的成绩,统计项目为:总分、平均分、合格人数、合格率、80分以上人数、优秀率、三率和、最高分、最低分、前十名和前11-30名各班人数。一、设计表格       打开excel2003,在表1中设计好表格。       分班输入成绩可以方便其他教师使用,但要统计前30名人数,又要把数据连接起来,所以把五个班的成绩链接到表2去,排成一列。在表2中的A1、B1、C1单元格中输入班别、成绩、名次,在A列A2:A301中输入一班、二班、三班、四班、五班各60个。回到表1,选中B9:B68,点击复制,再转到表2,在B2格中点击右键选择性粘贴、粘贴链接。依次把其他班的成绩链接到表2B列中,与A列的班别对应。二、定义数据区域名称       选中表1中的B9:B68,然后在左上角的名称框中输入ybcj(就是一班成绩的意思),按回车键,这样就定义了一个名称,依次把C9:C68、D9:D68、E9:E68、F9:F68定义为ebcj、sbcj、sibcj、wbcj。注意三班和四班的区别。然后转到表2,把A2:A301定义为bb,依次把B2:B301、C2:C301定义为cj、mc。其实名称也可以用中文,但为了方便输入就用拼音缩写了。       这一步也可以不做,但这样在输入公式时方便些。三、输入公式    1、全年级排名。转到表2中。在C2单元格中输入公式=rank(b2,cj)。把鼠标放在C2格右下角,变成黑十字后,按定左键向下拖动到C301格,可把公式复制下去。    2、求总分。切换到表1。在c2单元格输入公式=sum(ybcj),如果前面我们没有定义名称则公式为=sum(b9:b68),回车结束输入。依次在c3、c4、c5、c6中输入=sum(ebcj)、=sum(sbcj)、=sum(sibcj)、=sum(wbcj)。    3、求平均分。在d2单元格中输入公式=c2/b2。因为统计不是以实考人数为准,所以不用函数average,参考基数以教导处给出的为准。由于是空表,b2格空着,d2格的公式给出错误信息,不美观,可以去掉错误信息,公式变为=if(iserror(c2/b2),0,c2/b2),即用iserror判断(c2/b2)是否是错误信息,是则显示为0,否则进行计算。在d3、d4、d5、d6中分别输入=c3/b3、=c4/b4、=c5/b5、=c6/b6。    4、求60分以上人数。用条件统计函数可求出。在e2格中键入公式=countif(ybcj,">=60"),在e3、e4、e5、e6中的公式分别把ybcj改为ebcj、sbcj、sibcj、wbcj。    5、求合格率。在f2格中求一班合格率,用合格人数除以参考基数,公式为=e2/b2*100。注意乘以100,因为后面计算三率和时不是用0.00这样的小数计的,而是用乘以100得出的数来实数来计的。f3、f4、f5、f6中的公式为=e3/b3*100,=e4/b4*100,=e5/b5*100,=e6/b6*100。    6、求80分以上人数。用条件统计函数countif。在g2、g3、g4、g5、g6中参照第4点,把公式中的">=60"改为">=80"即可。    7、求优秀率。用80分以上人数除以参考基数,再乘以100。如在h2格中一班的优秀率公式为=g2/b2*100。其他类推。    8、求三率和。即把平均分、合格率、优秀率相加。如i2格为=d2+f2+h2。可向下把公式拖动复制到i3、i4、i5、i6格。    9、求最高分最低分。用函数max和min可求。如j2格公式为=max(ybcj),k2格为=min(ybcj)。    10、求各班前十名人数。用函数sumproduct来求。可以把它当一个多条件统计来理解。如L2中的公式为=sumproduct((bb=a2)*(mc<11)),用*号连接的两个并列条件,班别等于一班,名次小于11,如果两个条件都满足,计数1,如有任何一个条件不满足,计数为0,统计全年级数据后,把这些0和1都加起来,有多少个1,就是有多少个人既一班的,又是前十名的。    11、求各班前11-30名。参照第10点。如M2格公式为=sumproduct((bb=a2)*(mc>10)*(mc<31))。何以向下拖拽得到其他班的公式。四、保护工作表       做好表格后,为防止别人误改公式,可对表格进行保护。在表1中,选定B3:B6区域,然后按Ctrl键,再选定B9:F68区域,在上面按右键,点击设置单元格格式——保护,把“锁定”前的钩去掉,确定。接着点击工具——保护——保护工作表——输入密码——确定,这样在解除保护时需要密码。密码也可以不输入。 经过保护的表1只能输入参考基数和学生成绩,其它单元格都不能改动。表2也可以保护,但保护后不能对成绩、名次进行排序。       一个成绩统计表完成了,以后可以一劳永逸了。附:八年级物理成绩统计表 供参考 http://pickup.mofile.com/0380375972712041    
Excel:用条件格式让行列更清晰 --------------------------------------------------------------------------------
 
http://www.sina.com.cn 2005年07月06日 09:09 赛迪网--中国电脑教育报
 
  在利用Excel处理一些较多数据的表格时,经常会看得眼花缭乱,搞不好就会错行错列,造成麻烦。这时我们非常希望行或列间隔设置成不同格式,这样,看起来就不那么费劲了。当然,逐行或逐列设置是不太可取的,太费功夫。其实,利用条件格式可以很轻松地完成这项工作。方法是:先选中数据区中所有单元格,然后单击菜单命令“格式→条件格式”,在打开的对话框中,在最左侧下拉列表中单击“公式”,然后在其右侧的输入栏中输入公式:=MOD(ROW(),2)。然后单击下方的“格式”按钮,在弹出的“单元格格式”对话框中单击 图案”选项卡,指定单元格的填充颜色,并选择“边框”选项卡,为单元格加上外边框,然后一路单击“确定”按钮。  如果我们希望在第一行不添加任何颜色,那么,您只需要将公式改为:“=MOD(ROW()+1,2)”就可以了。  如果能间隔两行添加填充颜色而不是如图所示的间隔一行,那么,只需要将公式改为“=MOD(ROW(),3)=0”就可以了。如果要间隔四行,那就将“3”改为“4”。以此类推,简单吧?您也可以尝试在公式中“ROW()”的后边加上“+1”或“+2”等,看看结果有什么不同?  如果我们希望的是让列间隔添加颜色,那么只需要将上述公式中的“ROW”改为“COLUMN”就可以达到目的。  提示:本例所用主要有下面几个函数:1. MOD(numberdivisor):返回两数相除的余数。结果的正负号与除数相同。其中Number为被除数,Divisor为除数;2. ROW(reference):Reference为需要得到其行号的单元格或单元格区域。本例中省略reference,那么Excel会认定为是对函数ROW所在单元格的引用;3. COLUMN(reference):与ROW(reference)一样。只不过它返回的是列标  v利用Excel 2003中共享工作簿功能 --------------------------------------------------------------------------------
 
http://www.sina.com.cn 2005年06月09日 14:01 赛迪网--中国电脑教育报
 
  作者:保戬  总公司每个月的销售统计工作是办公室人员最头痛的事,通常都是由销售部把销售情况录入到Excel的工作表中,然后再传回公司由办公室,将这些工作表拷贝到一个工作簿中,最后进行集中处理。由于公司要求在每月的一号会议上拿出上月的销售统计表,而销售部却要在每月的最后一天的下午下班后才能把本月的销售情况上传,其实办公室只有一晚上的时间来进行汇总、统计。考虑到办公室人员在一晚上很难将统计表做好,公司宣布每个销售点的主管在月末那一天到总公司协助办公室进行统计。但是,统计汇总的表格只能一个人进行,人多了也是站着看。其实,我们可以利用Excel 2003的共享工作簿功能来协同办公。
  在“工具”菜单中单击“共享工作簿”命令,然后选择“编辑” 选项卡,选择“允许多用户同时编辑,同时允许工作簿合并”复选框,在“高级”选项卡中可以对“自动更新间隔”、“用户间修订冲突解决方法”以及“个人视图属性”等进行设置,在通常情况下,“高级”选项卡中的各个参数可直接使用系统默认值,然后单击“确定”即可。出现提示时,保存工作簿。在“文件”菜单中单击“另存为”,然后将共享工作簿保存在共享文件夹内。然后将各个工作表分别命名为各部门的名称,如“一分店”、 “二分店”等。
  提示 这时标题栏中的文件名后会多出“共享”两字,表示共享工作簿设置成功。
  在进行操作时,要求每个分店的工作表只能由该分店的负责人编辑,其他人只有读的权限。单击“工具→保护→允许用户编辑区域”,在打开的窗口中单击“新建”按钮,进入”新区域”对话框。在“新区域”窗体的“标题”框中输入用户名,单击“引用单元格”输入框右侧的按钮,按“Ctrl+A”组合键,就可以使全表区域引用“=1:65536”进入输入框。在“区域密码”框中输入密码,按“确定”弹出确认窗口,重新输入密码,回到“允许用户编辑区域”对话框,最后单击“确定”按钮。不同的工作表对应不同的用户,重复上述步骤即可为其他工作表设置编辑区域和密码。
  如果同一工作表中的不同部分(如某些行或列)也需要指定不同的用户,只须在“允许用户编辑区域”对话框中单击“新建”按钮,按照上述步骤选择相应的区域即可。
  单击“工具→保护→保护工作表”菜单命令,打开“保护工作表”对话框,在 “取消工作表保护时使用的密码”框内输入密码,然后单击“确定”即可。
  如果不进行这步操作,则任何用户都可以打开“允许用户编辑区域”对话框,从而取消或更改刚才已经设置好的编辑区域。如果工作簿中有多个工作表需要设置编辑区域,我们就要分别设置,以保护各个工作表。另外,这步操作必须在设置工作簿共享之前进行。
    各分店在提交数据时,取消对该工作表的保护(依次选择“工具→保护→撤消工作表保护”菜单命令),输入密码后即可在自己拥有权限的工作表内进行编辑,对其他没有授权的区域只能查看内容。
  这时,各个部门只要进入该共享文件夹,打开名为共享的Excel文件,进入以本部门命名的工作表就可以输入数据了。各个工作表之间完全透明,一个部门同时可以查看其他部门的最新整改进度。可以检查当前谁正在编辑共享工作簿,并使用自动更新来保持更改监视。对于正在使用的共享工作簿,如果显示”共享工作簿”对话框(“工具”菜单的“共享工作簿”命令),“编辑”选项卡中将列出当前打开该工作簿的所有用户。请使用“高级”选项卡的“更新”区域来获取定期更新(可根据需要选择更新频率)。  提示 只能看到用户已保存的更改;Excel 不会显示用户尚未保存的更改。在工作簿共享之后,Excel中的某些设置就无法更改了。
录入是每个老师都需要学习的必修课,然而在大量的数据录入时,切换录入法是必不可少的工作。在使用Excel时,切换输入法会大大影响录入速度,不仅耽误时间,而且很容易出现错误。怎么解决呢?最近我发现Excel 2000可以根据要输入的内容自动切换输入法。具体的操作方法如下。
  1. 先选中需要使用输入法的单元格或单元格区域,再将这种输入法激活。
  2. 单击“数据→有效性”命令,打开“有效性”对话框中的“输入法模式”选项卡。
  3. 在“输入法模式”选项卡的下拉列表中,选择“打开”选项,最后,单击[确定]按钮(请见附图  从此以后,只要选中已设置输入法的单元格,无论当前使用哪种输入法,你需要的输入法都会自动激活,用起来非常方便。赶快尝试吧!  Excel应用技巧一则—巧用[分列]更改日期 --------------------------------------------------------------------------------
    刚进办公室,小赵就急急忙忙地跑过来说:“快帮兄弟一把!”我走到他的电脑前,看到的是一张名为“职工简况”的Excel工作表。他说:“领导让我根据表上面的‘出生年月’,快速算出截止到2004年5月31日每个人的年龄,下午就得交差。”这有何难,我胸有成竹地坐到了电脑前,立马在“出生年月”的右面插入了一列,在E3单元格里输入公式“=DATEDIF(D3,"2004-5-31","y")”,一回车,E3单元格里竟是“#VALUE!”。仔细一看,原来图1表格中“出生年月”里的数据不符合要求,程序不能识别出这是日期,因此不能利用这些数据进行有关日期的操作。如何将它们改为程序能够识别的日期形式呢?一个一个地改,不是办法,好几百人呢!
    如果“出生年月”中的数据最右面都没有小数点(如68.9.26),只需用“替换”将数据中的小数点“.”替换为“-”,程序就会识别出这些数据是日期。
    数据最右面有一个小数点,即使用上面的方法替换,程序也不认为这些数据是日期,可恰恰数据里有好多是这样的。提取字符吧!需要的字符又多少不一;删除最右面一个小数点吧,一时还找不到这样的函数。“天无绝人之路”,几经摸索还真找到了一个好办法,虽然还是有些麻烦,但总比一个一个地改要好的多。思路是将数据分为年、月、日三部分(如59.10.5),每部分各占一列,然后再将这三部分用“-”,连接起来。显然我们应以小数点“.”作为分隔标志,即分隔符号。
    1. 因为数据的最右面还有一个小数点,所以应在“出生年月”列的右面插入3个空白列(请见图1)。
    2. 选择“出生年月”下面的所有数据,即D3:D8,单击“数据→分列→下一步”,在“分隔符号”中勾选“其他”,在其右面的空白处输入一个小数点“.”,去掉“分隔符号”中的其他所有选项。
    3. 单击[下一步→完成]按钮。数据按要求分成了三列(请见图2)。
    4. 选中G3单元格,输入公式“=(IF(F3>0,D3&"-"&E3&"-"&F3,D3&"-"&E3))+0”,回车后,G3单元格里是“21575”用填充柄向下拖动至G8。经过上述操作,字符串已转成数值,只不过还不是我们需要的形式。公式中“+0”,就是为了使文本型的数字转化为数值型的数字(请见图3)。 为G列的数据是由左面单元格引用过来的,所以我们不能删除D、E、F列,要使G列的数据不受D、E、F的制约,可再做如下操作。
    5. 选定G3:G8,单击“复制”,选择D3单元格,再单击菜单“编辑→选择性粘贴”,在打开的对话框的“粘贴”中选择“数值”,然后单击[确定]按钮。
    6. 选中D3:D8,单击菜单“格式→单元格”,在打开的“单元格格式”对话框中,单击“数字”标签,在“分类”中选择“日期”,在右面的“分类”中选择上级要求的或是您喜欢的日期格式,删除不需要的E、F、G列,就大功告成了(请见图4)。按照本文开头的方法输入“DATEDIF”函数,任务就完成了。
  在Excel中当单元格计算结果为0时,默认结果会显示0。如果你希望单元格为0时显示为空白,那么你可以试试以下三种方法,其中第二和第三种方法还可以随意决定不显示负值、正值或0值。
  1.设置选项
  选择菜单栏的“工具→选项”在“视图”选项卡中单击取消“0值”复选项前的“√”,确定后当前工作表中的值为0的单元格将全部显示成空白。不过很多时候 我们还需要在一部分单元格中显示0值,那就不能用这个方法了。
图1
  2.条件格式
  选中不想显示0值的单元格区域,选择菜单栏的“格式→条件格式”,设置条件格式为“单元格数据”、“等于”、“0”(请见图1),单击[格式]按钮,在弹出“单元格格式”的窗口“字体”选项卡中单击颜色的下拉箭头选择“白色”(若选定单元格已设置了底色则应选择与底色相同的颜色),单击[确定]按钮完成设置。这样当单元格的值为0时其文字颜色会变成与底色相同,让我们看不到也就等于消失了。通过设置单元格数据小于(或大于)0时的格式,还可以不显示负值(或正值)。
  3.自定义数字格式
  选中不想显示0值的单元格区域,右击选择“设置单元格格式”,在“数字”选项卡的分类列表中选择“自定义”,在“类型”文本框中输入“G/通用格式;G/通用格式;;”(请见图2),单击[确定]按钮后选定单元格的0值将不显示(不含引号且中间的符号均为半角)。
图2
  若类型中改输入“G/通用格式;;G/通用格式;”可使单元格不显示负值;输入“;G/通用格式;G/通用格式;”则不显示正值。
  (责任编辑:e108) 由于工作的需要,经常要为中文添加拼音,这样可以为某些生僻的汉字加上拼音注释。假如是在Word中倒也非常简单,但Excel 2000/2002中不仅没有提供“拼音指南”这一工具,而且当希望在同一单元格中同时显示拼音和中文字符时,只能先输入拼音,然后按下Alt+Enter键接着输入中文,真是麻烦死了。
  1. 激活拼音信息的显示模式
  其实,我们可以利用Excel 2000/2002内置的“拼音信息”功能来达到这一目的。首先选中需要输入拼音的单元格区域,然后在“格式”菜单中选择“拼音信息”项,从子菜单中勾选“显示或隐藏”命令,这样就可以为该单元格区域激活拼音信息的显示模式,否则即使输入后也处于隐藏状态。
 图1 输入中文和拼音
  2. 编辑拼音
  接下来,我们就可以正常键入中文,然后从“格式→拼音信息”菜单中选择“编辑”命令,现在就可以直接在单元格的上半部区域输入相应的拼音了,效果如图1所示。
    3. 调整拼音与中文文字的融合度
  一般情况下,由于拼音缺省使用半角字符,而且又缺省使用左对齐模式,因此看起来不是那么美观。建议从“格式→拼音信息”菜单中打开“设置”对话框,这里不仅可以调整拼音的字体、字形、字号、下划线、颜色等格式,更妙的是还可以在“设置”选项卡中重新设置拼音与文字的对齐状态,例如左对齐、居中、分散对齐等,如图2所示,建议选择“分散对齐”,这样拼音与文字就可以一一对应了。
 图2 “拼音属性”对话框
 假如你已经更新至Excel 2003,请执行“格式”菜单的“拼音指南”工具,选择“编辑”命令即可为单元格中的文字添加拼音,但默认设置却是隐藏拼音,因此我们还需要手工设置为“显示”模式才行。
些word文档时,为了页面的清晰美观,常常要加上页眉,可是,当我们想取消页眉内容的时候,常常会发现一个问题,页眉底下的黑线总是存在,影响到整个页面的美观。所以这里我告诉大家,怎么才能够去掉它(利用这种方法也可以使通常我们加的页眉不带有下划线)。
  首先,双击页眉,然后将鼠标移到页眉左侧,将页眉所在的段落选中了。
  然后,打开“格式”菜单中的“边框和底纹”命令,会弹出相应的对话框,选择“边框”选项卡,把它选为最上面的“无”,再单击[确定]按钮,回到页面上看一下,页眉上的黑线已经没有了。
  如果这时你发现黑线还存在,不要着急,我想你一定没有选择好段落,那你可以在边框和底纹的对话框中找到应用范围选择“段落”,然后单击[确定]按钮就可以了。
小数点你要听我的 在Excel提高录入效率   在工作中笔者要经常录入大批保留三位小数的数据表,数据范围为0.001~100.000,由于大部分数据集中0.001~0.010之间,这样输入一个数据就需要击键5次,录入速度比较慢。能不能提高输入速度呢?经过研究,笔者发现通过对数据格式进行重新定义可大大提高录入效率,如输入“0.001”只需输入“1”即可,下面是具体的实现方法和步骤:   方法一:自动设置小数点
  1. 选定需要输入数据的单元格;
  2. 在“工具”菜单上,单击“选项”,再单击“编辑”选项卡;
  3. 选中“自动设置小数点”复选框;
  4. 在“位数”框中,输入小数位数,本例中输入“3”;
  5. 单击“确定”按钮,开始输入数据。
  编辑提示:“位数”框中可输入正数,也可以输入负数。例如,如果在“位数”框中输入“3”,然后在单元格中键入“1”,则其值为“0.001”。如果在“位数”框中输入“-3”,然后在单元格中键入“1”,则其值为 “1000”;在选择“自动设置小数点”选项之前输入的数字不受小数位数的影响。   方法二:自定义数据格式   1. 选定需要输入数据的单元格;   2. 在“格式”菜单上,单击“单元格”,选中“数字”选项卡;   3. 在“分类”下拉框中选中“自定义”;   4. 单击“类型”输入框,输入新的格式类型“0.000,”,注意逗号“,”为半角英文字符,而非中文全角标点;   5. 单击“确定”按钮,开始输入数据。   编辑提示:可以通过自定义“类型”来定义数据小数位数,在数字格式中包含逗号,可使逗号显示为千位分隔符,或将数字缩小一千倍。如对于数字“1000”,定义为类型“# ###”时将显示为“1 000”,定义为“# ”时显示为“1”。   不难看出,使用以上两种方法虽然可以实现同样的功能,但仍存在一定的区别:使用方法一更改的设置将对数据表中的所有单元格有效,方法二则只对选中单元格有效,使用方法二可以针对不同单元格的数据类型设置不同的数据格式。使用时,用户可根据自身需要选择不同的方法.
 用Excel的“条件格式”显示重复数据
  朋友鸿在一所学校的教务处工作,他用Excel管理学生的成绩,他想把同名学生的成绩数据突出显示出来(改变字体和单元格填充颜色),我建议他用“条件格式”来实现。
  1.启动Excel 2003(基本版本相似),打开学生成绩表。
  2.同时选中数据所在的单元格区域(如B2至J2001),执行“格式→条件格式”命令,打开“条件格式”对话框(如图1)。
  3.单击最左侧方框右边的下拉按钮,在随后弹出的下拉列表中选择“公式”选项,然后在后面的方框中输入公式:=COUNTIF($B$2:$B$2001,$B2)>1(此处假定姓名存放在B2至B2001区域内)。
  4.再单击其中的“格式”按钮,弹出“单元格格式”对话框,在“字体”标签下,按“颜色”右边的下拉按钮,展开调色板,选中“红色”;再切换到“图案”标签下,选中一种颜色。
  5.设置完成后,两次按确定按钮返回,同名学生所在的数据行就被突出显示出来了(如图2)。 文/仲勇  新学期开始,学校要对上学期在德、智、体各方面表现出色的学生进行奖励,教务主任把各班的学生推荐表交给了我,让我用Excel整理并打印出来交学校审核。我心想这还不是件简单的事情?一个一个输入到电脑里,再排序、排版不就行了。说起来简单,可干起来就快不了了。表格项目很多,光录入一张表格的数据就得用几分钟,可是有一百多份表格呢!我遇事喜欢琢磨,总想看看有没有可以“偷懒”的地方,只有巧干才能提高工作效率嘛!
  对照表格我发现,很多表格项目如“性别”、“所属年级”、“是否团员”等项目,其填写的内容都是相同的几个值,能不能像上网时填写网页表单那样,将这些内容做成下拉式菜单,这样这些项目录入时就可以不需输入而可以直接选择,不就能大大提高录入速度了吗?下面就以录入“所属年级”这一表格项目为例,介绍一下具体实现的过程。
  1.设置序列的有效值
  这里所指的“序列”即某字段(如“所属年级”)内可能会填写的内容,这些内容是固定的,一般个数不会太多。首先选定“所属年级”字段所在的列(除了字段名称),单击“数据”菜单中的“有效性”命令,弹出“数据有效性”对话框,选中“设置”选项卡,在“允许”下拉菜单中选择“序列”,在数据“来源”中输入“初一,初二,初三,高一,高二,高三”(一定要在英文状态下输入逗号作为分隔符!),其他设置按系统默认不变(如图1)。
  2.设置输入提示信息
  输入提示信息可以使录入过程更加清晰明了。具体制作步骤是:在图1中单击“输入信息”选项卡,选中“选定单元格时显示输入信息”复选框,在“输入信息”框内输入“请选择该生所属年级!”(如图2)。设置完成后,单击[确定]按钮。
  3.数据的录入
  在以上设置完成之后就可以对所有学生的年级进行选择录入了,若要录入某学生的“所属年级”,只需单击单元格右侧的下拉菜单(如图3),选择该生所属的年级就可以了。
  其他许多表格项目的录入也可以进行类似的设置,以提高录入效率。  Excel中常见的错误信息以及解决方法   在Excel中建立了一张工作表,往往希望所有数据都是正确的。但是,基本上这是不可能的!而偏偏计算机是个“较真”的家伙,如果你不改正错误,它会就此罢工,不再进行任何运算工作。怎么办呢?改吧,怎么改?让我们来认识一下Excel中常见的错误以及解决方法:
  1.#####
  错误原因:输入到单元格中的数值太长或公式产生的结果太长,单元格容纳不下。  解决方法:适当增加列宽度。
  2.#DIV/O
  错误原因:公式被0(零)除。  解决方法:修改单元格引用,或者在用作除数的单元格中输入不为零的值。
  3.#N/A
  错误原因:当在函数或公式中没有可用的数值时,将产生错误值#N/A。
  解决方法:如果工作表中某些单元格暂时没有数值,在这些单元格中输入#N/A,公式在引用这些单元格时,将不进行数值计算,而是返回#N/A。
  4.#NAME?
  错误原因:在公式中使用了Microsoft Excel不能识别的文本。
  解决方法:确认使用的名称确实存在。如果所需的名称没有被列出,添加相应的名称。如果名称存在拼写错误,修改拼写错误。
  5.#NULL!
  错误原因:试图为两个并不相交的区域指定交叉点。
  解决方法:如果要引用两个不相交的区域,使用联合运算符(逗号)。
  6.#NUM!
  错误原因:公式或函数中某些数字有问题。
  解决方法:检查数字是否超出限定区域,确认函数中使用的参数类型是否正确。
  7.#REF!
  错误原因:单元格引用无效。
  解决方法:更改公式。在删除或粘贴单元格之后,立即单击[撤消]按钮以恢复工作表中的单元格。
  8.#VALUE!
  错误原因:使用错误的参数或运算对象类型,或自动更改公式功能不能更正公式。
  解决方法:确认公式或函数所需的参数或运算符是否正确,并且确认公式引用的单元格所包含均为有效的数值。
  有时我们想要把一个文件夹中的所有文件名整理到一个文件中,便于管理和查询以及打印,多数是使用“复制”、“粘贴”方法(将文件夹中的文件重命名,在可编辑状态下进行复制,而后在其他文档中粘贴)。这种办法可行,但对于文件夹中有大量的文件的情况,则工作效率低,而且做完后必须核对。
  利用DOS的重定向命令“〉”加Excel的引用外部数据功能可实现方便快捷的方法(关于 
DOS中的重定向“〉”,《中国电脑教育报》2002年第25期A35版中《重定向的妙用》已详细介绍)。
  假设我们要提取C盘下的Windows目录下的所有文件及文件夹名。
  第1步在DOS或Windows 98的MS-DOS方式下,输入如下命令:C:\windows\dir〉d:\1.txt(回车)
  第2步打开一个新的Excel XP电子表格,单击工具栏中的“数据”下拉菜单,选择“导入外部数据→导入数据”命令,打开“导入数据”对话框,在“查找范围”中找到D盘下的1.txt文档,单击“打开”,进入“文本导入向导-3步骤之1”(如图1)。
  第3步在“原始数据类型”单选框中选“分隔符号”后按“下一步”,进入“文本导入向导-3步骤之2”(如图2)。
  第4步在“分隔符号”复选框中选“分号、逗号、空格、其他”,并在“其他”后的空格中填“.”,按“下一步”,进入“文本导入向导-3步骤之3”(如图3)。
  第5步单击“完成”,出现“导入数据”对话框,选择“现有工作表”单选框后按“确定”。
  到了这里,你应可以看到8列数据,第一列便是所要的“文件名”。但是,DIR命令的显示的中文文件名只显示3~4个汉字,别急,看看第7列(G列),所有的完整的文件名都在这里(如图4)!第8列是文件名的后缀,方便于筛选(对于Excel 2000,所不同的是在工具栏中的“数据”下拉菜单下,选择的是“获取外部数据/导入文本文件”命令)。
  至此,你就可以用Excel来编辑这些文件名了。挖掘潜能 让你的Excel工作表锦上添花
  Excel是一个很好用的电子表格,许多学校都用它来管理学生成绩。其实,Excel中还有许多比较实用的功能未被挖掘出来,这些功能用好了,可让我们的Excel工作表锦上添花。以下以Excel 2000为例加以说明。
  一、在输入大量学生成绩时,容易发生误输入,如少打小数点、多打一个零等。为避免这种情况,可以设置“有效性”检查,当输入数据超出0到100的范围时,就会自动提示出
错。具体设置如下:
  1.选定所有需要输入学生成绩的单元格。
  2.单击“数据”菜单下的“有效性”命令。  3.单击“设置”标签,在“允许”框中选择“小数”,在“数据”框中选择“介于”,在“最小值”框中输入“0”,在“最大值”框中输入“100”。  4.单击“输入信息”,在“标题”框中输入“请输入学生成绩”,在“输入信息”框中输入“成绩介于0到100之间”。  5.单击“出错警告”,在“标题”框中输入“输入出错”,在“出错信息”框中输入“请输入0到100之间的数”。  6.单击[确定]按钮。  二、做完学生成绩表后,可把学生的平均成绩分类,大于90分的显示红色,60到90分的显示黄色,60分以下的显示黑色,这样看起来一目了然。  1.选定平均分所在单元格区域。  2.单击“格式”菜单下的“条件格式”命令。  3.输入条件1(大于90分):在第一个下拉列表框中,选择“单元格数据”,在第二个下拉列表框中选择“大于”,在第三个下拉列表框中输入“90”,单击[格式]按钮,把字设为红色。  4.单击[添加]按钮,照上述方法添加上条件2(60~90分)和条件3(60分以下)。  5.单击[确定]按钮。  三、在处理各班的优秀学生名单时,可把各班的学生名单放在不同的“文件夹”里,需要时就展开,不需要了就合上,非常方便。  1.在A1单元格中输入“高一(1)班”。  2.选择表中高一(1)班的所有学生,单击“数据”菜单的“组及分组显示”下的“组合”命令,这样,相当于是把高一(1)班的学生名单放入一个“文件夹”中,“文件夹”的名称为“高一(1)班”。  3.照上述方法,把高一(2)班、高一(3)班等的学生名单,分别放入一个“文件夹”内。  这样处理后,是不是很方便了!
 
1.负数  除直接输入负号和数字外,可用“(”+“)”来完成。如“-50”可输入“(50)”。  2.分数  如“2/9”,方法是先输入“0”以及一个空格,然后输入分数“2/9”,即“0 2/9”。如果省去“0”,则会变为日期“2月9日”。  3.当作文本处理的数字  当数字用来表示诸如学号、编号、电话号码等内容时,应将数字作为文本处理。输入方法是在输入的数字前面加上单引号,如:  输入“'0001”,在单元格中就输入了0001;  输入“'010-66668888”,在单元格中就输入了010-66668888 、添加选取  我们在选取不连续的单元格区域时,往往采用的方法是按住“Ctrl”键分别选取各个单元格或单元格区域,如果你要选取的单元格较多,不得不一直按住“Ctrl”键不放,直到全部选取所需单元格后。其实,你可以尝试利用“添加选定”模式选定不连续的单元格区域。按下组合键“Shift+F8”,激活“添加选定”模式,此时工作簿下方的状态栏中会显示出 
“ADD”字样,以后即可分别选取不连续的单元格或单元格区域而不必按住“Ctrl”键不放。  2、两次选取  单击鼠标选定单元格,然后按住“Ctrl”键再次单击鼠标选定此单元格,此时单元格周围出现实线框,这样在此单元格内输入数据后按“Enter”键,选定单元格并不移动。这一技巧可以在当我们需要在某个单元格内连续输入多个测试值以查看引用此单元格的其他单元格的动态效果时使用,非常简单方便。一般情况下,我们可以选择“工具”\“选项”\“编辑”,将“按Enter键后移动”活动单元格复选框不选,从而实现在同一单元格内输入多个测试值。但这种方法与上述技巧相比有明显的缺陷,即它对工作簿内所有单元格均生效,你肯定还要重复一遍操作,将“按Enter键后移动”复选框选中。  3、条件选取  单击“编辑”菜单下的“定位”命令,单击“定位”对话框中的“定位条件”按钮,根据你要选中区域的类型,在“定位条件”对话框中选择需要选中的单元格类型,例如“常量”、“公式”等,此时还可以复选“数字”、“文本”等项目,单击“确定”后,符合条件的所有单元格将被选中。  本人觉得还有更好的办法:可以利用Excel中的绘图工具。  Excel中的绘图工具栏在默认情况下没有打开,在工具栏空白处点击右键,打开绘图工具栏。然后调整好单元格的大小,画好所需斜线,在空白处画文本框,输入表头文字,然后双击设置文本框格式,选择“颜色与线条”标签,“填充颜色”选择“无填充色”,“线条颜色”选择“无线条色”。 
  按住“Ctrl”键的同时拖动刚才建立的文本框,复制带有格式的文本框,更改里面的文字,然后利用“Shift+点击”选中表头的对象,单击右键,选择“组合”即可。
Excel 2000快捷使用之“十问十答”
  使用Excel 2000时,我想对工作表中所有包含公式的单元格加以保护,比如填入与其他单元格不同的颜色,不过怎么用鼠标点击都不听使唤,是鼠标出了问题吗?
  答:非也,原来这一类单元格的选定自有一套:选择主菜单中"编辑"下的"定位"功能,选定"定位条件"按钮,可以弹出"定位条件"对话框,再选择对话框中的"公式"一项,确定后就可以随心所欲地选取包含公式的单元格了。    在工作表里输入数据的时候,老是数据、英文和中文来回切换,烦得不行,有没有简便的方法?
  答:这个问题花了我比较长的时间才得以觅其芳踪,答案就是利用自动切换,这话好说,其实一开始我的目标就已经锚定在这了,具体是如何“实施”,本来想把它作为自己的小秘密的,算了还是告诉你吧。可以打开所用的中文输入法如五笔或拼音,再选中需要输入中文的所有单元格,下一步打开"有效数据"对话框,选中"IME模式"选项单,注意需要打开"模式"框,表示这些单元格要用中文模式,然后确定。接下来再用类似的方法将需要输入数字和英文的单元格设置为英文模式,OK,录入时就可以自动切换中英文了。  
  Word模板已经领教过了,应该说可以大大地帮助一些“懒人”,Excel 2000也有模板,怎么创建模块来产生工作薄呢?  答:Excel 2000中,模板能作为创建其它工作薄的框架形式,虽然猛地一看摸不着头脑,其实创建方法很简单,首先打开一个要作为模板的工作薄,将它另存为一个模板,注意要在"保存类型"列表中选定"模板(*.xlt)"选项,这时"保存位置"会自动切换到默认的模板文件夹TEMPLETE文件夹;在"保存位置"中选择"电子表格模板"文件夹,保存就可以了。  能不能建立与网上工作薄中数据的链接呢?  答:能连上网上工作薄好象挺神,其实这个方法并不难,首先打开Internet上含有需要链接数据的工作薄,再选定相关数据,进行复制(可以利用菜单或快捷键),再打开需要创建链接的Excel 2000工作薄,在需要显示链接数据的区域中,单击左上角单元格,下一步进行选择性粘贴,在"选择性粘贴"对话框中选择"粘贴链接"按钮。当然也可以直接在单元格中键入“=”号和链接的URL地址及工作位置完成链接。  可不可以把工作簿保存到FTP节点上?  答:当然可以,不过请务必记住,在将工作簿保存到FTP节点之前,必须要该FTP节点添加到Internet节点的列表中,而且必须有向该节点保存文件的权限(这些虽然不是Excel 2000的工作范围,但与其正常工作息息相关,所以千万要照章办事)。保存时先单击"文件"菜单中的"另存为"命令,在"保存位置"框中单击"Internet位置(FTP)"选项,由于所需的FTP节点已经在FTP节点列表中,只需双击该节点并在节点中双击所需的地址即可,最后在"文件名"框中,键入工作簿的名称,选择保存就大功告成了。  能不能自己创建工具栏?  答:通过工具栏可以快速地访问常用的命令或自定义的宏,非常方便,而且完全可以根据自己的需要快速创建工具栏。首先选择单击"工具"菜单中的"自定义"命令,在"工具栏"选项单中单击"新建",输入"新建工具栏"名称后确定。你可以发现这时新建工具栏已经出现了,但没有什么功能,下面更重要的是用鼠标把其他工具栏中的按钮拖到新建工具栏中,这样该按钮就从其它工具栏中移过来了,如果不想改变其它工具栏,可以在拖动时按着Ctrl键进行复制。  我觉得所有应用中最烦的莫过于录入,还有没有什么办法能减少手工录入的工作量?  答:在应用程序中要减少用户的录入工作量,我们经常采用下拉列表的录入方式。现在轮到方便自己了。在Excel 2000中也可以自己建立下拉列表来简化录入工作。先选中需要显示下拉列表的单元格,再选择"数据"菜单下的"有效数据",从弹出的对话框中选择"设置标签",在"许可"下拉列表中选择"序列",下一步点击"来源"栏右侧的小图标,会打开一个"有效数据"小对话框;输入下拉列表中所需要的数据,注意各录入项目之间要用逗号隔开,确定后还要在对话框中将"提供下拉箭头"复选框选定,最后确定就可以了。  Excel 2000中老是要切换工作表,有没有快捷方法呢?  答:切换到前一个工作表可以用快捷键Ctrl+PageUp,相应地Ctrl+PageDown组合键可激活后一个工作表,当然如果习惯用鼠标,还可以通过控制工作表底部的标签滚动按钮移动工作表的名字,然后单击工作表完成切换。  (责任编辑冲锋队)
 
  “我想在Excel 2000里显示并排的效果,可是你看……”小蟹开始演示。
  “我先选中一个列中的两个单元格,再选“格式”菜单下的“单元格”选项,进入“单元格格式”对话框,按理说选中用“文本控制”下的“合并单元格”就可以了吧……”(如图1)。
  “可是它弹出一个对话框,如果确定了,就只剩下第一个单元格的内容了,不确定吧,当然也合并不了,这该怎么办呢?”小蟹有些不知所措(如图2)。
  “别一棵树上吊死呀!不是想显示出并排的样子吗?我们可以曲线救国嘛。”大虾不以为然。
  “还是先同时选中这两个单元格。用同样的办法进入“单元格格式”对话框,选择其中的“边框”选项卡,单击“外边框”选项,这样就能给上下两个单元格加上实线边框。”(如图3)
  “打印出来就象是一格中的并排字符了。你看看效果可不可以?”(如图4)
  “倒还不错。”小蟹还算满意。
  “其实呀,在输入时注意一点也可以直接输入并排的字符。”大虾又准备指点迷津。
  “怎么做,怎么做?”果然吊起了小蟹的胃口。
  “选中单元格,然后还是回到“单元格格式”对话框,选择其中的“对齐”选项卡,不过不要理会“合并单元格”,而是要选中“文本控制”下的“自动换行”,按“确定”按钮后,关闭对话框。现在再在选中的单元格中输入数据,要换行时,按Alt+Enter键就可以跳到下一行继续输入,而不会跳出单元格。”大虾说完,准备离身。
  “别急,大虾,我还有问题……”小蟹急忙叫道。
  “Word表格里可以竖着放文字,在Excel里我找了好久也没有发现类似的功能,是不是没有这个功能呀?”
  “竖排?让我看看……”大虾有些感兴趣。
  “我们先看看工具栏上有没有,找一遍确实没发现。再看看选择“视图”-“工具栏”菜单下的“自定义”选项,现在有了“自定义”对话框。这个对话框很少用到,不过里面可藏着一些好东西。选中“命令”选项卡,应该说这是个格式问题,所以在左边的“类别”列表框中选择“格式”选项,再看右边的“命令”列表框,哈哈,看到“竖排文字”按钮了吧。”大虾眼睛一亮(如图5)。
  “然后把它拖到工具栏上,对吧?”小蟹也很高兴。
  “没错,现在工具栏上就有了一个名为“竖排文字”的按钮了,还挺直观。”大虾表示赞同(如图6)。
  “下面的使用就和Word没什么不同了,选中已输入文字的单元格,单击“竖排文字”按钮,看到了吧,单元格中的所有文字全部被竖排了。”(如图7)
  “还有,还有,如果我向Excel导入了一个文本文档,比如是一段程序,因为一行比较长,所以被分成多个列,我只想看最前面的函数名和最后面的函数返回类型,可是它们离得太远了,老得拖滚动条,真累人,有没有什么好办法呢?”小蟹担心大虾走,赶紧问道。  “其实利用拆分窗口就可以办到,好多编辑环境都支持,Excel也不例外。”大虾回答。  “拆分窗口,那两个窗口的数据会不会跟着一起走呢?”小蟹有些不放心。  “当然,这你可尽管放心,算了,给你演示一下看看吧。”  “把鼠标移到水平滚动条右端的拆分框上,变成双向光标后水平拖动,当前工作表已经分割成左右两帧了吧。再滚动左右帧,分别显示一行的最前部分和最后部分,当然以后就不会再用水平滚动条了。点点垂直滚动条看看,是不是两边的数据在同步移动?”大虾觉得让事实说话比较有力(如图8)。
图8  “再问一个问题,虽然本身不是关于编排的,但是我总觉得或多或少还是有些关系。”小蟹有些没完没了。  “别卖关子了,是什么问题呢?”大虾问道。  “如果光是输入数值,感觉不是很直观,我又不想再用图表什么的,有些麻烦,能不能就在单元格里显示出图表的效果呢?”  “这个问题我以前刚好考虑过,有一种办法代价比较小,而且也确实比直接用数字显示要好。”大虾又准备举例。  “在A1输入一个-2,再在B1中加入一个公式。”(如图9)
图9  “C1中也加入一个公式,不过要把条件换一下,变成A1>0,再把ROUND前面的负号去掉。把这些公式分别复制到B和C列的其它行里,这样就可以分别在B和C列里用一组x来形象地比较各个数值了,而且B列中显示的是负数情况,C列中显示的是正数情况。”(如图10)
图10  “嗯,有点直方图的意思。”小蟹心生敬意。  “其实,我还有个建议,编排Excel表格的目的就是要好看好用,所以最好先给工作表留一个大一些的工作区。比如隐藏工具栏、状态栏和编辑栏,还有采用全屏显示方式,或者是更改工作表的显示比例都可以达到目的,而且也比较易行。这对于实际操作可获益非浅呢!”大虾越说越来劲。  “谢谢,真不愧是大虾,Word、Excel、Access样样都通,我以后有问题还要再问你。”小蟹越发仰慕。  “惭愧惭愧,Office一家亲嘛!”大虾有些不好意思。