ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

手动变自动

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2006-4-19 15:34 | 显示全部楼层
本帖已被收录到知识树中,索引项:数组公式
请问chrisfang:为什么不返回K3,K2.而是返回K4值.

TA的精华主题

TA的得分主题

发表于 2006-4-19 17:08 | 显示全部楼层
以下是引用[I]山菊花[/I]在2006-4-19 14:51:58的发言:[BR]

以下是引用[I]赖赖虫[/I]在2006-4-19 13:58:06的发言:[BR]又看到公式里出现二个“--”,对于这个有什么特殊功能一直不是很理解,能否明示一下?

把文本转换成数值

MID($B5,ROUNDUP(COLUMN(A:A)/10,0),1)取得的结果是一个文本,1C$4 是一个数值,不同类型的数据是不可比的,不能判断它们之间是否相等。

例如,墙壁上写一个8字,你更多关注的是这个字有多高,什么写的,什么颜色,等等,这些都是文本的属性。而当你看到帐簿上一个8字时,你想到的是数,它与7、与9可以比较,它的大小与数位有关等等,这些都是数值型数据的属性。

"12"是一个文本,12是一个数值,如果相比,"12"大于12:

在单元格里写入公式:="12"=12,结果为False,而="12">12,结果为True。

要把文本"12"当作数值与12相比,就要转换类型,

把文本型转换成数值型,有专用的转换函数 VALUE():

=value("12"),它的结果就是一个数值。

=value("12")=12,它的结果就是True了。

在函数或公式中,运算过程会自动把文本转换为数值(一个隐含过程),再与数值进行运算,负值运算(-)也是一种运算,能把文本转换成数值:

-"25"=-25

还记得负负得正吧?

-(-"25")=-(-25)=25

简写为:--"25"=25

--可以把文本转换为数值,但它不是标准的转换方式,是借用负运算的隐含功能。

=IF(--MID($B5,ROUNDUP(COLUMN(A:A)/10,0),1)=C$4,"*",IF(ROW()=5,1,N(C4)+1))

在编辑栏中,像上面一样选取Mid()部分,按F9,显示结果为一个文本。

=IF(--MID($B5,ROUNDUP(COLUMN(A:A)/10,0),1)=C$4,"*",IF(ROW()=5,1,N(C4)+1))

而这个返回的就是数值了。

除了用--进行类型转换,你还可以选择下面其中一种:

=IF(Value(MID($B5,ROUNDUP(COLUMN(A:A)/10,0),1))=C$4,"*",IF(ROW()=5,1,N(C4)+1))

=IF(0+MID($B5,ROUNDUP(COLUMN(A:A)/10,0),1)=C$4,"*",IF(ROW()=5,1,N(C4)+1))

=IF(1*MID($B5,ROUNDUP(COLUMN(A:A)/10,0),1)=C$4,"*",IF(ROW()=5,1,N(C4)+1))

相信其中道理你已经明白。

感谢山菊老师的详细讲解, 不过对于 您公式中常出现的9E+307,还不是很明白,您 说这是一个很大的数值,但我还是很不明白

TA的精华主题

TA的得分主题

发表于 2006-4-19 17:13 | 显示全部楼层
以下是引用[I]ykq_677[/I]在2006-4-19 15:34:14的发言:[BR]请问chrisfang:为什么不返回K3,K2.而是返回K4值.
macth返回的不是K4的值,而是*本身在其所在行的位置,而你的数值刚好是10个,所以他利用的是这个,

TA的精华主题

TA的得分主题

发表于 2006-4-19 18:58 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2006-4-19 20:25 | 显示全部楼层

感谢山菊老师的详细讲解, 不过对于 您公式中常出现的9E+307,还不是很明白,您 说这是一个很大的数值,但我还是很不明白

To:赖赖虫,把解释写在下面了,你看看。

http://club.excelhome.net/viewthread.php?tid=161460&extra=&page=2#367422

也许你还会不明白,因为它只是公式的冰山一角,要完全明白,必须弄懂整个公式的解题思路,这才是关键。

TA的精华主题

TA的得分主题

发表于 2006-4-20 12:26 | 显示全部楼层

厉害~~~

说的很透彻,谢谢山菊花

TA的精华主题

TA的得分主题

发表于 2006-4-20 12:48 | 显示全部楼层
帮别人的同时,我学到的更多,

TA的精华主题

TA的得分主题

发表于 2006-4-25 15:16 | 显示全部楼层

TA的精华主题

TA的得分主题

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

恭喜山兄成为版主了!

TA的精华主题

TA的得分主题

发表于 2006-5-14 13:18 | 显示全部楼层

也可以把逻辑值转换为数值型.一文档,计算出其=ISTEXT(***)为FALSE 那么无论=--(ISTEXT(***))还是=-(ISTEXT(***))其结果都为0因为0代表否定.若计算出其=ISTEXT(***)为TRUE 那么=-(ISTEXT(***))结果就为-1. 如果=--(ISTEXT(***))那么其值就为1.

不知我说的对不对,如果不对请山兄包涵!

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

本版积分规则

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

GMT+8, 2024-9-8 08:27 , Processed in 0.030712 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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