ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

哪些函数的参数可以不区分文本数字和数值?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-5-12 13:56 | 显示全部楼层 |阅读模式
经常在论坛上见到对于函数的参数是文本数字时(往往是对文本型数字单元格的引用或是公式返回的结果为文本型数字),很多网友会将其转换为数值(方法是--、+0、-0、*1、/1、value),其实这些函数的参数很多都是不区分文本数字和数值的,下面对常用函数参数是否区分文本型数字和数值举例说明。(涉及到的公式附件在3楼)
1、        Index
A        90
B        78
C        90
D        30
E        88
F        91
G        30
问题1:对A3:A9区域按B3:B9数值大小进行升序排列,重复的按原序排列。
经常会看到一些初学者,甚至是高手网友会用下面的公式:
=INDEX(A:A,--RIGHT(SMALL($B$3:$B$9/1%+ROW($3:$9),ROW(A1)),2))&""
其实这个公式中right前面的“--”减负运算符号是多余的,省掉完全不会影响结果。
问题2:通过A15,B15单元格的值返回A3:B9区域交叉对应的值78.
尽管A15、B15单元格都是文本数字,但公式=INDEX(A3:B9,A15,B15)仍能返回正确的结果,而无需写成=INDEX(A3:B9,--A15,--B15),同样,index的第二、三参数还可以直接输入文本数字,如公式=INDEX(A3:B9,"2","2"),结果还是正确的。

2、        Choose
问题3:根据A26的值返回学历,1对应“研究生”,2对应“本科”,3对应“大专”。
=CHOOSE(A26,"研究","本科","大专")
=CHOOSE("2","研究","本科","大专")
=CHOOSE(2,"研究","本科","大专")
上面三个公式都可以得到正确的结果,而无需将文本型数字转换为数值,这也说明choose函数的第一个参数是不区分文本型数字(或对文本型数字的单元格引用)和数值。

3、        Offset
问题4:将a3单元格作为offset的偏移基准点,a35为行偏移量,b35是偏移高度,c35是偏移宽度,重新得到新的区域。
=OFFSET(A3,A35,,B35,C35)
=OFFSET(A3,"3",,"4","2")
这两个公式是多单元格数组公式,都能得到正确结果,这也说明offset的第2、3、4参数也是不区分文本型数字(或对文本型数字单元格引用)和数值。
结论1:结论1:对于参数是"-num"、"k","quart"、"return-type"型的函数,除上面这三个函数外,还有small(large)、quatile、percentile、weekay等函数,他们的这些类型的参数也是不区分文本数字和数值的。

[ 本帖最后由 laowuwyx 于 2011-5-12 14:03 编辑 ]

评分

9

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-12 13:58 | 显示全部楼层
4、mod
问题5:A54单元格对3的余数是多少?
=MOD(A54,"3")
=MOD("97","3")
上面两个公式中, mod第1、2参数都是文本数字(文本数字单元格引用),但都能返回正确的结果,这说明mod的两个参数都不区分文本数字和数值。

5、isodd
问题6:判断A61:A63单元格的奇偶性。
=IF(ISODD(A61),"奇数","偶数")
=IF(ISODD("7"),"奇数","偶数")
这两个公式中,isodd的参数为文本型数字或对文本型数字单元格引用,结果都是正确的,说明isodd的参数是不区分文本数字(或对文本型数字单元格的引用)和数值。
结论2:对于参数是"number"型的数学函数,其参数是不区分文本型数字和数值的,除mod和isodd外,类似的数学函数还有iseven、odd、even、abs。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-12 14:01 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
6、text
问题7:A71:73单元格的值,大于10的返回其半身,否则不显示。
=TEXT(A71,"[>10];;")
=TEXT("17","[>13];;")
这两个公式中,text的第一参数为文本型数字或对文本型数字单元格引用,返回的结果均能得到正确结果,说明text的第一参数是不区分文本型数字(或文本型数字单元格引用)和数值。

7、countif和countifs
问题8:统计A79:A84中等于7的个数和等于7的数值的和。
=COUNTIF(A79:A84,A79)
=COUNTIF(A79:A84,"7")
=COUNTIFS(A79:A84,A79)
=COUNTIFS(A79:A84,"7")
从这四个公式的结果可以得出:
结论3:当countif和countifs的第二参数(criteria)条件是比较条件中的“等于”条件时,该参数是不区分文本型数字(或对文本型数字单元格的引用)和数值,有兴趣的朋友可以试试当比较条件为不等于,大于或等于,小于或等于时的情况。

8、文本型数字作为某些统计函数,如sum、count、average等的独立参数时,是否可以被作为数值而直接参与运算?
问题9:1、统计A89:A95区域的和;2、统计这个区域的数字个数;3、求这个区域的平均值。
结论4:当文本型数字作为某些统计函数,如果sum、count、average等函数的独立参数时,是被视作为数值而直接参与运算,如红色单元格的公式,而当文本型数字作为单元格引用或数组形式作为这些函数的参数时,将被视为文本。

参数不区分文本数字和数值的函数.rar

10.68 KB, 下载次数: 289

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-5-12 14:03 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-5-12 14:04 | 显示全部楼层
关于这个问题其实可以这样理解,当参数的普遍意义是整数时,这个参数就有不区分文本数字和数字的性质

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-12 14:06 | 显示全部楼层
原帖由 kkitt 于 2011-5-12 14:04 发表
关于这个问题其实可以这样理解,当参数的普遍意义是整数时,这个参数就有不区分文本数字和数字的性质

谢谢kk老师点评。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-5-12 14:19 | 显示全部楼层
應該還有MID, RIGHT, LEFT之參數

VLOOKUP的第三參數

REPT函數...

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-12 14:22 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 piny 于 2011-5-12 14:19 发表
應該還有MID, RIGHT, LEFT之參數

VLOOKUP的第三參數

REPT函數...

恩,总结的不全,还有indirect。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-5-12 14:27 | 显示全部楼层
ROUND函數家族也是,基本上會自動取整的函數群都行

kkitt 老師這個總結一語蔽之 厲害

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-12 14:33 | 显示全部楼层
kk老师的总结涵盖了1-5项内容,6——8的是比较特殊情况。

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-5 10:43 , Processed in 0.043358 second(s), 21 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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