ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 20325|回复: 66

●●●关于《函数与公式》第一章中的一些纰漏或错误

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-10-18 12:10 | 显示全部楼层 |阅读模式

刚刚看完《Excel函数与公式实战精粹》的第一章,

现在把认为书中的纰漏或错误写下来,请指正

1.第46页,“注意”中说“IF函数的第2个参数不可以省略”。

   事实上,IF函数的第2个参数在“如果假则假”时是可以省略的,

 比如A2单元格是某同学的考试成绩58,那么公式=IF(A2>60,,"不及格")则返回"不及格"

注:第3楼和第5楼有详细的讲解,说明了我对“省略”的理解有偏差

2.第40页。 无需定义也能使用名称。

这前面要加“在Excel2003版中”,因为,我认为在Excel2007中不支持直接用标签计算,改用引用单元格。

 

 商品名称单价  数量
 文具盒 10 3
 钢笔 5 2

在Excel2003中,可以直接用=单价*数量公式,而Excel2007中则不能。

3、技巧15-1与技巧69内容重复,因放在一起,或加“参阅。。”

以上几点,如果认为正确,希望在第二版时修正,另外目录排版字体过小,不方便查阅。

[此贴子已经被作者于2008-10-22 8:06:17编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-10-18 12:16 | 显示全部楼层

第一次在ExcelHome坐沙发

[此贴子已经被作者于2008-10-19 18:09:29编辑过]

TA的精华主题

TA的得分主题

发表于 2008-10-20 16:02 | 显示全部楼层

感谢wjmm朋友对函数精粹的建议,您阅读很仔细,现回复如下:

1、IF第2参数的描述并无错误。所谓“省略”是完全没使用这个参数,比如=IF(A1>60,"及格")只使用了2个参数,第3个参数是省略了,如果A1没满足则返回FALSE。而如果是=IF(A1>60,"及格",),则与IF(A1>60,"及格",0)是一样的,只是简写了0并非“省略”这个参数,=IF(A2>60,,"不及格")同理,当A2是61分时返回的是0而不是TRUE。本书中对函数参数的“简写”、“省略”均是按此区分描述的。

2、本书基于Excel2003版,个别功能到2007版不能使用,但多数功能在新版本中一般会更先进而不是倒退。

3、个别章节确实存在内容相近问题,在编辑时也曾考虑过此事,多数是从单独章节完整阐述某方面功能来考虑。

关于排版,这是出版社根据经验和行规来做的,我们会将您的意见进行反馈。

再次感谢您的宝贵意见。

[此贴子已经被作者于2008-10-20 16:06:54编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-10-20 18:48 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

谢谢老大的详细讲解。

但我仍以为,书上有印刷错误。If的第二个参数,是可省略的(可为空的),省略时默认值为0.

而不象书上说的那样,说它不能省略。

我以为,所谓“省略”,就等同于为空,就是空在那不写,只写个逗号,

但是即便省略(为空),它还是有缺省值的

下面红字是微软If函数帮助的部分原文:

如果 logical_test(即第1个参数) 为 TRUE 而 value_if_true(即第2个参数) 为空,则本参数返回 0(零)。

简而言之,第2个参数缺省时默认值为0.

以下是引用gouweicao78在2008-10-20 16:02:00的发言:

QUOTE:

感谢wjmm朋友对函数精粹的建议,您阅读很仔细,现回复如下:

1、IF第2参数的描述并无错误。所谓“省略”是完全没使用这个参数,比如=IF(A1>60,"及格")只使用了2个参数,第3个参数是省略了,如果A1没满足则返回FALSE。而如果是=IF(A1>60,"及格",),则与IF(A1>60,"及格",0)是一样的,只是简写了0并非“省略”这个参数,=IF(A2>60,,"不及格")同理,当A2是61分时返回的是0而不是TRUE。本书中对函数参数的“简写”、“省略”均是按此区分描述的。

2、本书基于Excel2003版,个别功能到2007版不能使用,但多数功能在新版本中一般会更先进而不是倒退。

3、个别章节确实存在内容相近问题,在编辑时也曾考虑过此事,多数是从单独章节完整阐述某方面功能来考虑。

关于排版,这是出版社根据经验和行规来做的,我们会将您的意见进行反馈。

再次感谢您的宝贵意见。


[此贴子已经被作者于2008-10-21 9:30:12编辑过]

TA的精华主题

TA的得分主题

发表于 2008-10-21 21:22 | 显示全部楼层

呵呵,如果问以下3个公式的区别:

1、=MATCH(B1,A1:A10,)

2、=MATCH(B1,A1:A10,0)

3、=MATCH(B1,A1:A10)

相信您一定能明白,公式1=公式2——都是精确匹配,

而不等于公式3——模糊匹配,要求A1:A10升序排列。

那么,根据“所谓“省略”,就等同于为空,就是空在那不写,只写个逗号”的判断,公式1、3中MATCH的第3参数都是“省略”。呵呵。

正是基于这样的区别,我们在《精粹》中的描述采用了“省略”、“简写”两个词。

TA的精华主题

TA的得分主题

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

Excel自带帮助也不是完全正确的,呵呵

[注意]函数参数向导中的提示信息有误
作者:gouweicao78  

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-10-22 07:59 | 显示全部楼层

再次谢谢老大的详细讲解。

省略就是连逗号都不要写,使用默认值,而只写逗号表示空,被Excel理解为0(假)。是这样理解吗?

如果按这样理解,哪么,书中的IF函数的第2个参数不可以省略”,是句完全正确的废话

因为,在公式中,除了最后N个参数(可能)可以省略外,中间的参数都不能省略,如果省略,则被理解为前一个参数。

QUOTE:
以下是引用gouweicao78在2008-10-21 21:22:00的发言:

呵呵,如果问以下3个公式的区别:

1、=MATCH(B1,A1:A10,)

2、=MATCH(B1,A1:A10,0)

3、=MATCH(B1,A1:A10)

相信您一定能明白,公式1=公式2——都是精确匹配,

而不等于公式3——模糊匹配,要求A1:A10升序排列。

那么,根据“所谓“省略”,就等同于为空,就是空在那不写,只写个逗号”的判断,公式1、3中MATCH的第3参数都是“省略”。呵呵。

正是基于这样的区别,我们在《精粹》中的描述采用了“省略”、“简写”两个词。

[此贴子已经被作者于2008-10-23 17:40:05编辑过]

TA的精华主题

TA的得分主题

发表于 2008-10-22 23:00 | 显示全部楼层

1、=MATCH(B1,A1:A10,)

2、=MATCH(B1,A1:A10,0)

3、=MATCH(B1,A1:A10)

发表个人意见,帮助中“缺省”的表达比较正确,缺就是“空缺”,如1式的第三个参数,省就是“省略”,即完全略去,连逗号也免了,如3式没有写第三个参数的逗号。

而IF函数的第三个参数是可以省略的,也就是逗号可以不写。而那么第二个参数是不能省略的,最多只可空缺,保留逗号。

所以陈版书中的表达是正确的。第三个参数如果是以空缺的方式书写,则返回0,以省略的方式书写则返回false,这是有区别的,特别在处理数据排序时,是如果外面嵌套了Small函数,则会返回不同的结果。

1、small(if({1,1,1,0,0,1,1},1,),2)  

2、small(if({1,1,1,0,0,1,1},1),2)

1式返回0

2式返回1

而他们的区别在于“空缺”和“省略”。这里的“空缺”就是陈版在书中表达的“简写”。

[此贴子已经被作者于2008-10-22 23:12:14编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-10-23 08:03 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

我没有说陈版书中的表达是错误的啊,只不过是句完全正确的废话

QUOTE:
以下是引用apolloh在2008-10-22 23:00:00的发言:

而IF函数的第三个参数是可以省略的,也就是逗号可以不写。而那么第二个参数是不能省略的,最多只可空缺,保留逗号。

所以陈版书中的表达是正确的。

TA的精华主题

TA的得分主题

发表于 2008-10-23 09:18 | 显示全部楼层

不是废话,很多函数是可以省略不止一个参数的。比如SUM,Index,2007中的sumifs等,对于可缺省的参数,函数提示信息中会将参数用[]符号包含起来,表示如果该参数空缺,并且保留参数位置的话,即“空缺”的情况,使用缺省值,但不是所有带[]符号的参数都有缺省值,如果该参数可“省略”的话,函数语法信息中也会将其用[]符号将其包含起来。有的参数仅可省略,如sumif的第3个参数,有的参数仅可空缺,如if的第二个参数,而有的既可省略,又可空缺,如IF的第三个参数。没有缺省值的参数,只可省略不可空缺。可省略的参数,必须是在其后的参数都省略的情况下才能省略,不然最多只能空缺,如果没有缺省值的话,还必须将参数书写完整,如sumifs的参数大多如此。

因为IF函数第一个参数是不可缺省的,第二个参数有缺省值(可空缺,但不可省略),所以需要保留一个逗号。Excel帮助的确在一些细节方面有些差异,比如index的第二个参数实际上也有缺省值,其值为0,但一般不用0作为index的第二个参数,所以没有使用[]符号将其包含起来。

既然很多函数都有多个可省略的参数,而IF函数的第2个参数在Excel的函数语法信息中提示是缺省参数,用了[],那么陈版在书中说明IF函数第二个参数不可省略,并非不可。

[此贴子已经被作者于2008-10-23 9:45:05编辑过]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-25 04:21 , Processed in 0.035990 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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