ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: ykk

高三年级学生的礼物!

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-15 01:58 | 显示全部楼层
91、DATEDIF计算两个日期之间的天数、月数或年数。提供此函数是为了与 Lotus 1-2-3 兼容。

语法

DATEDIF(start_date,end_date,unit)

Start_date 为一个日期,它代表时间段内的第一个日期或起始日期。日期有多种输入方法:带引号的文本串(例如 "2001/1/30")、系列数(例如,如果使用 1900 日期系统则 36921 代表 2001 年 1 月 30 日)或其他公式或函数的结果(例如,DATEVALUE("2001/1/30"))。有关日期系列数的详细信息,请参阅 NOW。

End_date 为一个日期,它代表时间段内的最后一个日期或结束日期。

Unit 为所需信息的返回类型。

Unit返回"Y"时间段中的整年数。"M"时间段中的整月数。"D"时间段中的天数。"MD"start_date 与 end_date 日期中天数的差。忽略日期中的月和年。"YM"start_date 与 end_date 日期中月数的差。忽略日期中的日和年。"YD"start_date 与 end_date 日期中天数的差。忽略日期中的年。

说明

Microsoft Excel 按顺序的系列数保存日期,这样就可以对其进行计算。如果工作簿使用 1900 日期系统,则 Excel 会将 1900 年 1 月 1 日保存为系列数 1。而如果工作簿使用 1904 日期系统,则 Excel 会将 1904 年 1 月 1 日保存为系列数 0,(而将 1904 年 1 月 2 日保存为系列数 1)。例如,在 1900 日期系统中 Excel 将 1998 年 1 月 1 日保存为系列数 35796,因为该日期距离 1900 年 1 月 1 日为 35795 天。请查阅 Microsoft Excel 如何存储日期和时间。

Excel for Windows 和 Excel for Macintosh 使用不同的默认日期系统。有关详细信息,请参阅 NOW。示例

DATEDIF("2001/1/1","2003/1/1","Y") 等于 2,即时间段中有两个整年。

DATEDIF("2001/6/1","2002/8/15","D") 等于 440,即在 2001 年 6 月 1 日和 2002 年 8 月 15 日之间有 440 天。

DATEDIF("2001/6/1","2002/8/15","YD") 等于 75,即在 6 月 1 日与 8 月 15 日之间有 75 天,忽略日期中的年。

DATEDIF("2001/6/1","2002/8/15","MD") 等于 14,即开始日期 1 和结束日期 15 之间的差,忽略日期中的年和月。

92、如何在EXCEL表格的一个单元格中设定校验。比如,单元格均为手工输入,某单元格必须等于其他几个单元格之和,如不等,则该单元格显示为红色。

用条件格式公式=D1<>SUM($A1:$C1)

93、A1]=abcabca

求a在单元格[A1]内出现次数?

=LEN(A1)-LEN(SUBSTITUTE(A1, "a", ""))

94、20040404如何转为2004-4-4

=text(a1,"0000-00-00")

TEXT(Z12,"????-??-??")

=LEFT("20040404",4)&SUBSTITUTE(RIGHT("20040404",4),0,"-")

使用分列最好

95、假如A2单元格有内容,就在E2单元格里面填上今天的日期."2005-5-30",如果明天,就填明天的日期.2005-5-31,但昨天的日期."2005-5-30",不改变.

建议使用VBA,用循环引用也可以:

工具—选项—重新计算—迭代计算—最多迭代次数1

=if(a2="","",if(e2="",now(),e2))

96、当你的领导或者同事要使用你的机器发现面目全非,自定义太多弄的自己都头大了,这时你想恢复EXcel的本色却急的满头大汗?

这时最能解决这些问题的就是用户设置保存向导了.(要提前做)

在程序---OFFICE工具中可以找到它,他有保存本机设置和把设置应用到本机两个选项.多保存几个,方便在不同的个性菜单中切换

97、我现在要在一个22位的数值中,提取其中第10,11,12位的数字,不知道可有什么好的方法

=MID(A1,10,3)

我想计算总米数=卷长*卷数, 但由于原数据库中卷长带有单位(如:1000m), 可不可以不需去掉单位直接用函数得出总米数?

=substitute(a2,"m",)*b2

98、在某格中输入一串数字,如何使它能象输入密码一样显示******呢?

如果需要输入负数、文本时,也出现******,则自定义格式为:

**;**;**;**

99、用函数得出带完整路径的文件名

=CELL("filename")

100、“定义名称”的方法解除嵌套函数的限制

EXCEL中一个众所周知的限制是你不能嵌套超过7层函数.例如下面的公式是错误的,因为限制被超过.

=IF(Sheet1!$A$4=1,11,IF(Sheet1!$A$4=2,22,IF(Sheet1!$A$4=3,33,

IF(Sheet1!$A$4=4,44,IF(Sheet1!$A$4=5,55,IF(Sheet1!$A$4=4,44,

IF(Sheet1!$A$4=5,55,IF(Sheet1!$A$4=6,66,IF($A$4=7,77,FALSE))))))))

通常的方法,如果你有一个公式超过这个限制,你会考虑用VBA代替.然而,如果你不想使用VBA,你可以通过对公式的一部分”定义名称”来解决这种限制.

我们利用一个IF嵌套公式来测试

IF A4 = 1 Then 11

Else If A4 = 2 Then 22

Else If A4 = 3 Then 33

Else If A4 = 4 Then 44

...

Else If A4 = 13 Then 130 Else "Not Found"

当然在实践应用中,我们最好利用VLOOKUP这个函数去实现结果,但这里我们的目的是做个演示.首先,我们定义一个名叫”ONE TO SIX”的名称, 里面包括公式:

=IF(Sheet1!$A$4=1,11,IF(Sheet1!$A$4=2,22,IF(Sheet1!$A$4=3,33,

IF(Sheet1!$A$4=4,44,IF(Sheet1!$A$4=5,55,IF(Sheet1!$A$4=4,44,

IF(Sheet1!$A$4=5,55,IF(Sheet1!$A$4=6,66,FALSE))))))))

接着,再定义另一个名叫”SEVERTOTHIRTEEN”的名称,里面包括公式:

=IF(Sheet1!$A$4=7,77,IF(Sheet1!$A$4=8,88,IF(Sheet1!$A$4=9,99,

IF(Sheet1!$A$4=10,100,IF(Sheet1!$A$4=11,110,IF(Sheet1!$A$4=12,120,

IF(Sheet1!$A$4=13,130,"NotFound")))))))

最后,在B4单元格中输入下面的公式:

=IF(OneToSix,OneToSix,SevenToThirteen)

这样就解决了被嵌套函数的限制.因为公式中没有一个单独的部分超过限制,即使是”各个组成部分的集合”也没有超过限制.

当你编制一个超过限制的嵌套函数时可以使用这种方法.————————zhdi

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-15 02:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
101、工作表名设为变量

=INDIRECT("月份!"&ADDRESS(ROW(),COLUMN()))

此公式放在A1单元格,则是对1月A1单元格的引用,如1月A1单元格为10,则返回10。

=INDIRECT("月份"&E$1&"!"&ADDRESS(ROW(),COLUMN()))

此公式将工作表名设为变量,变量为当前表的E1单元格的值,如E1为2,则引用月份2表中相对应的值。

102、如何把“2005年5月1日”转换成“20050501”?

=YEAR(A1)&TEXT(MONTH(A1),"00")&TEXT(DAY(A1),"00" )

YEAR(A1)&IF(MONTH(A1)<10,"0"&MONTH(A1),MONTH(A1))&IF(DAY(DAY(A1)<10),"0"&DAY(A1),DAY(A1))

=TEXT(A1,"yyyymmdd")

或者自定义格式:yyyymmdd

103、今天是10月31日,我希望一个月后应该是11月30日

工具_加载宏VBA 分析工具库

=edate(today(),1)

104、trim函数的说明是如果是英文字符间有多个空格时会保留一个空格,但为何中文之间的空格也不能全部去掉呢?

要把字符(无论中、英文)之间的空格全部去掉, 公式为 :

=SUBSTITUTE(A1," ","")

但此公式只能消除CHAR32空格, 你附件单元格A1的例子中, 包含有CHAR160空格, 和CHAR32空格

公式要改为 :

=SUBSTITUTE(SUBSTITUTE(A1," ",""),CHAR(160),"")

单元格A1的例子为 : YES

1] 消除空格, B1输入公式 :

=SUBSTITUTE(SUBSTITUTE(A1," ",""),CHAR(160),"")

返回 YES

2] 查看字符串字数

A2, 输入公式 : =LEN(A1) 返回 13

B2, 输入公式 : =LEN(B1) 返回 3

结果证明B1巳没有空格了.

3] 查看单元格数据的空格 :

A3, 输入公式右拖至N3 : =CODE(MID($A1,COLUMN(A:A),1))

返回 : 160,32,160,160,32,160,160,32,160,89,69,83,160,#VALUE!

A4, 输入公式右拖至D4 : =CODE(MID($B1,COLUMN(A:A),1))

返回 : 89,69,83,#VALUE!

结果证明B1, CHAR160空格, 和CHAR32空格, 巳消除了.

105、计算B列最后一个有数据(不含‘ 空格)单元格的行号

=MATCH("*",$B:$B,-1)

106、函数创建链接

=HYPERLINK("[Book1.xls]sheet3!A3","点击后链接到表3的A3")

107、把A列后面统一加“-1”,怎样自动加不用手工逐个加?有没有快速方法?

选中A列,点右键选"设置单元格格式","自定义",类型G/通用格式后加"-1"

108、大家知道,通过自定义格式常常可以解决一些显示问题:如需要在单元格中显示为:123人,456.00元、ABCD00789,实际上单元格内容仅仅为:123、456、789,这样的问题我们常常都通过自定义格式来实现,在显示上能够满足要求。

但如果有这样一个需求:需要将显示内容直接转换成单元格实际内容?那又该如何快速转换呢?

1、选择区域ctrl+C连续两次,然后选择office粘贴板中的数据框中的下拉按钮,出现快捷菜单,选粘贴,然后右键点击选择区域,选择性粘贴-〉文本。

不过2000的没有这个选项,,在2000用同样的方法试验发现.选择区域ctrl+C连续两次,然后直接粘贴,再删除,这时再选择性粘贴,选文本,就是了.

2、自定义一个函数如下:

Function abc(myRange As Range)

abc = myRange.Text

End Function

然后调用

3使用Get.Cell(53,A1)也可以

4、先复制到记事本再复制回EXCEL

原理:复制到记事本的是excel中的显示文本。

109、在工作表中点击菜单 文件->发送->邮件收件人->以附件形式发送收件人一栏请填写:邮箱地址,,点击发送可以了.

或新建邮件,收件人一栏请填写: 邮箱地址,然后用鼠标把那个 excel 文件拖到我的名字下面就可以点击发送了.

110、求非空单元格数量

公式计算出来的数据,COUNTA不能用的(否则空字符也计算进去了)

=COUNTIF($E$3:$E$65536,"?*")

强制计数至少1个字符的单元格数。

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-15 02:01 | 显示全部楼层
111、(精) 动态求和公式,自A列A1单元格到当前行前面一行的单元格求和.

=SUM(INDIRECT("A1:A"&ROW()-1))

112、在使用SUM函数在单元格中输入超过30个参数时,你将得到一个"参数太多"的错误提示。

解决办法:在引用参数的两边多加一个括号,这时,SUM把括号内的最多可达254个参数当成一个处理。(主要是受公式长度限制,理论上可以达到无数个)

113如果您觉得公式复杂了,或是不直观

偶给你提供两个捷径:

方法一:选择公式单元格-〉菜单栏-〉[工具]-〉[公式审核]-〉[公式求值]

然后按照导向提示,一步步地观察公式求值的过程。(2003版适用)

方法二:选择公式单元格-〉选取编辑栏或F2-〉用鼠标置亮公式中你想查

看的那段-〉按F9,会显示该段的计算结果。

114请问有没有返回工作表名称的函数?

插入—名称—定义:

sh=replace(get.document(1),1,find("]",get.document(1)),)&t(now())

单元格输入=sh

GET.DOCUMENT是宏表函数,当数据变动时无法自动计算,now()是易失性函数,任何变动都会强制计算,宏表函数所以加上now()就可以自动重算了,T()用来将now()产生的数值转化为空文本。

115、显示当前工作表的表名

=MID(CELL("filename"),FIND("]",CELL("filename"))+1,255)

116、我要自动生成数据在K29+010~K29+600之间的数据(显示为K29+XXX)

=TEXT(INT(RAND()*591)+10,"K29+000")

117、我想把列P1~P60的数据引用到行U1~CB1,本来想用公式=$P1拉动复制,结果不行。

U1=INDIRECT("P"&COLUMN()-20),向右拉

118、

姓名

外语

数学

86

95

80

姓名

外语

数学

95

90

80

80

86

75

将表1的姓名导入自定义序列,在表2按此自定义序列排序

或使用vlookup公式

表1的C2

=vlookup(a2,表2!a:c,3,0)

[求助]如何将2个排列顺序不同的表统一一下

119、如果你要在A3的前面插入100行,可以这样:

在名称框输入 3:103----回车-----ctrl+shift+"+"(大键盘)

120、VBA从哪学起

1、录制宏;

2、数据类型(主是整型和字符串型);

3、程序结构(主要是分支,判断,循环);

4、EXCEL对象(单元格,工作表,工作薄)

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-15 02:03 | 显示全部楼层
121、如何实现求平均值时只对不等于零的数求均值?

average(if(a1:a5>0,a1:a5))

122、D1输入姓名,A列中相同的姓名按设定和条件格式显示

=find(D1,$A$1)

123、excel中插入/名称/指定(应用)(标志)的用途是什么?

1、指定的用法

例如:在A1:A3中输入了AAA,BBB,CCC

选中A1:D3》插入》名称》指定》最左列》确定

这样就一次性定义了3个名称

AAA=B1:D1

BBB=B2:D2

CCC=B3:C3

2、应用的用法

在A4输入 =sum(B1:D1,B3:D3)

然后 插入》名称》应用

会将公式中的引用用相应的名称替换。

124、请教如何筛选出特殊颜色的数据。

定义名称.X=GET.CELL(24,单元格),辅助列=X

按辅助列筛选

125、如何快速查看名称

插入---名称---粘贴---名称清单(粘贴列表)

126、COUNTIF函数的16种公式设置

1、返加包含值12的单元格数量

=COUNTIF(DATA,12)

2、返回包含负值的单元格数量

=COUNTIF(DATA,"<0")

3、返回不等于0的单元格数量

=COUNTIF(DATA,"<>0")

4、返回大于5的单元格数量

=COUNTIF(DATA,">5")

5、返回等于单元格A1中内容的单元格数量

=COUNTIF(DATA,A1)

6、返回大于单元格A1中内容的单元格数量

=COUNTIF(DATA,“>”&A1)

7、返回包含文本内容的单元格数量

=COUNTIF(DATA,“*”)

8、返回包含三个字符内容的单元格数量

=COUNITF(DATA,“???”)

9、返回包含单词"GOOD"(不分大小写)内容的单元格数量

=COUNTIF(DATA,“GOOD”)

10、返回在文本中任何位置包含单词"GOOD"字符内容的单元格数量

=COUNTIF(DATA,“*GOOD*”)

11、返回包含以单词"AB"(不分大小写)开头内容的单元格数量

=COUNTIF(DATA,“AB*”)

12、返回包含当前日期的单元格数量

=COUNTIF(DATA,TODAY())

13、返回大于平均值的单元格数量

=COUNTIF(DATA,">"&AVERAGE(DATA))

14、返回平均值上面超过三个标准误差的值的单元格数量

=COUNTIF(DATA,“>"&AVERAGE(DATA)+STDEV(DATA)*3)

15、返回包含值为或-3的单元格数量

=COUNTIF(DATA,3)+COUNIF(DATA,-3)

16、返回包含值;逻辑值为TRUE的单元格数量

=COUNTIF(DATA,TRUE)

127、日期分列

如有一列格式如2005-7-8的数据,要将其分为2005 8 7,方法为:数据_分列,-号作分隔符,列数据格式-文本,再将年份转为数值。

128、查询时查不到数据的原因

可能是格式不一致。

129、120,000显示为12.0

自定义格式:

#!.0,

130、121,999显示为12.2

#!.#,

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-15 02:04 | 显示全部楼层
131、大写的零,就是那个大的圈圈如何输入

1、在特殊格式中,中文小写是可以显示“○”的。

1、 ABC和紫光拼音输入法下,输入字母i(小写)和0就会显示大写的“○”,入如果是输入年份也可以用字母o代替(大写)。

3、如果用 智能ABC 输入法,按V,再按1,再按=,选择.

132、计算两个日期之间的天数

=DATEDIF(起始日期,结束日期,"D")

http://club.excelhome.net/viewthread.php?tid=86150

133、对于一些不可打印的字符(在Excel显示中类似空格),直接用替换方法不容易去掉。

可以这么做:

=SUBSTITUTE(CLEAN(A1)," ","")

134、123

0123

75223

比如说上述的数字,我想在它们前面加上38910104,而且位置短的数字,会自动补0

变成如下:

3891010400123

3891010400123

3891010475223)

=TEXT(A1,"3891010400000")

135、VLOOKUP查找函数,不如用INDEX和MATCH函数查找,特别对于大型工作表,VLOOKUP函数的公式看起来短一些,但是由于它是查找函数,每执行1次,它就要搜索它的第2个参数区域,速度慢.

而用INDEX和MATCH函数速度明显比VLOOKUP快.

136、如果在Sheet1中A 列的单元格中数据的部分字符包含在Sheet2的A列中,则提取Sheet2对应的B列数据到Sheet1的B列中。否则显示空白。

=IF(COUNTIF(Sheet2!A:A,"*"&A1&"*"),VLOOKUP("*"&A1&"*",Sheet2!A:B,2,0),"")

137、find函数

=if(iserr(find("某某",A1)),"没找到","找到")

138、我有一列数据,比如A1:A100,现在我想这样计算,我想在B1单元格求和,但是要是变量,比如我在C1单元格中输入数据5,那么B1求出的结果就是A1:A5,如果我在C1单元格中输入数据10,那么B1求出的结果就是A1:A10,请问怎么实现求和的范围随C1变化

B1=SUM(INDIRECT("A1:A"&C1))

http://www.officefans.net/cdb/viewthread.php?tid=41319

139、图片批注

右击带批注的单元格》编辑批注》在批注边框上右击》设置批注格式》颜色与线条》单击“颜色”》填充效果》图片》选择图片.

140、if函数的另类用法

=IF(OR(VALUE(RIGHT(A1,2))={11,12,13}),"包含","不包含")

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-15 02:06 | 显示全部楼层
141、在一年中,显示是第几天用什么函数呢?

=a1-date(year(a1),1,0)

将单元格格式设置为常规

142、虚线的分页线,表示电脑默认的打印范围,实线的分页线,则表示经过调整的分页线。

143、作为文本输入到单元格上的数字可以用于某些计算,但不是全部。Excel不会在一些函数如SUM、MAX中计算文本数字,但其他引用某一包含文本数字的单元格公式(如=A23+A24)就可以正确地计算。

144、如何用公式求出最大值所在的行?

如A1:A10中有10个数,怎么求出最大的数在哪个单元格?

=MATCH(LARGE(A1:A10,1),A1:A10,0)

=ADDRESS(MATCH(SMALL(A1:A10,COUNTA(A1:A10)),A1:A10,0),1)

=ADDRESS(MATCH(MAX(A1:A10,1),A1:A10,0),1)

145、返回最末行位置

1、如果能确定某一行的数据到达数据区的最后一行:

能确定某列数据间不会有空格,使用counta对该列计数;

不能确定某列数据间会不会有空格,使用lookup找最后单元格行号;

2、什么都不能确定,使用数组公式max((a1:j5<>"")*row(a1:j5))

146、如何统计成绩大于600且班级是5班的学生人数

"=sum((a2:a100=5)*(j2:j100>600))",不包括引号,然后同时按住shift和ctrl再按enter键。

http://club.excelhome.net/viewthread.php?tid=110287

147、如何让工作表奇数行背景是红色偶数行背景是蓝色?

用条件格式

=ROW()/2=INT(ROW()/2)设定颜色

条件格式: 公式为 =MOD(ROW(),2)=0

148、sum(a1:b5)等于sum(offset(a1,,,5,2))

sum(INDIRECT("A"& C1 & ":B" & C2))

149、自己试一下下面两种好方法

第一种方法:

将鼠标指向单元格当出現黑十字时,按住鼠标右键然后下拉(或其它任意方向),放开鼠标右键出现一个选择框。

第二种方法:

选择单元格,将鼠标指向单元格的边当出現四个箭头时,按住鼠标右键拖放到任意单元格,放开鼠标右键出现一个选择框.

150、A1:A10数字显为文本格式时,如何求和

=SUMPRODUCT(A1:A10

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-15 02:08 | 显示全部楼层

现在是2:09了,终于帖完了,其它的待下次升级时再帖吧。

TA的精华主题

TA的得分主题

发表于 2005-8-15 04:39 | 显示全部楼层
现在4:38分,支持并感谢楼主

TA的精华主题

TA的得分主题

发表于 2005-8-15 07:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

非常感谢,得到大量有用的知识!

TA的精华主题

TA的得分主题

发表于 2005-8-15 08:46 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-3-29 18:20 , Processed in 0.048101 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表