ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[经验分享]公式思路是怎么来的?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-4-26 16:03 | 显示全部楼层 |阅读模式

lukelu朋友提了个很好的问题:“公式思路是怎么来的?”。 原贴:[讨论]数组公式的思路? 

这个问题我想大家在学习函数时都会闪现过吧?呵呵,我也是。通过这几年的论坛学习,我觉得以下几点与之相关:

1、看论坛精华,吸取公式闪光点。花几分钟看一百条一看就懂的公式是没有用的,但用几个小时的时间去理解一条难懂的公式,就能获取公式的思路,以及思路中的闪光点,这些闪光点正是体现公式的魅力所在,有时会让你禁不住拍手叫好! 

2、思路的宽窄也与撑握的函数范围有关。试想如果你只知道Sum、IF这几个函数,你能处理“文本和数字的分离”这样的问题吗?常言道“朋友多了路好走”,在这里则是“函数多了思路宽”。

3、否定再否定是创新思路的源泉,这点是最重要的。大多时侯我们在想问题时往往钻进死胡同去,所以我们要尽量“把思维跳出去”来找解决方法,找方法时有多种思维方法,如“特点法”、“逆向法”、“大局法”等。在用这些方法时要不断地否定自己前面的思路,这才有可能获得更多的思路,从而选择更符合我们需求的那一条路走。

如此例:把右边数字从文本中分离出来

总体思路:找到数字个数,然后通过取字窜函数获得,下面是我想到一种就写一个了,并无优劣顺序,视情况而采用。

其中找到数字个数是思路关键。那怎么找数字呢?我们用“特点法”从所求数字的性质入手。

性质1:都是由0-9共10个数字组成,从而能想到用方法1这样的Substitute替换法。

QUOTE:
=RIGHT(A2,SUM(LEN(A2)-LEN(SUBSTITUTE(A2,{0,1,2,3,4,5,6,7,8,9},))))   (A2为字符窜单元格,下同)

性质2:所求数字均位于右边,找到起始位置就好办了,从而能想到用方法2这样的Find查找法。

QUOTE:
=MID(A2,FIND({0,1,2,3,4,5,6,7,8,9},A2&1234567890),100)   X 此公式有误,应改为下面的)
QUOTE:
=MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&1234567890)),100)

性质3:数字位数越多则数字越大,从而能想到用方法3这样的Lookup取尾法。

QUOTE:
=LOOKUP(9E+307,--RIGHT(A2,ROW(1:100)),RIGHT(A2,ROW(1:100)))

性质4:数字进行四则运数不会出错,而文字则会出错,从而能想到用方法4这样的Count排错法。

QUOTE:
=RIGHT(A2,COUNT(-MID(A2,ROW(1:100),1)))

性质5:数字与字母能组成一个单元格地址,但数字0和空字符不好区分,所以我们转用“逆向法”去找字母个数,从而能想到用方法5这样的Indirect引用法。 

QUOTE:
=MID(A2,COUNT(AREAS(INDIRECT(MID(A2,ROW(1:100),1)&1)))+1,100)

性质6:数字在Excel中的排位比字母小,但空字符的排位也比字母小,所以我们也转用“逆向法”去找字母个数,从而能想到用方法6这样的字符比较法。 

QUOTE:
=MID(A2,SUM(--(MID(A2,ROW(1:100),1)>="a"))+1,100)

......

好了,我暂时就写这些吧,大家可能都跃跃欲试了,方法7、方法8......就留给大家继续吧,呵呵。 

这是本文的附件: AkT98as9.zip (8.48 KB, 下载次数: 30)


[此贴子已经被作者于2007-4-26 22:49:46编辑过]

TA的精华主题

TA的得分主题

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

不错,谢谢版主分享学习经验,收藏了

TA的精华主题

TA的得分主题

发表于 2007-4-26 16:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

哈哈,guangyp讲的不错,函数的参数死的,公式灵活的组装运用是活的.

TA的精华主题

TA的得分主题

发表于 2007-4-26 16:13 | 显示全部楼层

感谢guangyp,讲的太有用了,发现自己的思维定势太强,老用几种方法去解决

谢谢guangyp,不仅授鱼还授渔。

TA的精华主题

TA的得分主题

发表于 2007-4-26 16:40 | 显示全部楼层
謝謝 guangyp版主提供分享 !!!
[em23][em23][em23][em24][em24][em24][em27][em27][em27]
[此贴子已经被作者于2007-4-26 16:41:19编辑过]

TA的精华主题

TA的得分主题

发表于 2007-4-26 16:47 | 显示全部楼层

TA的精华主题

TA的得分主题

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

[em17][em17][em17]

TA的精华主题

TA的得分主题

发表于 2007-4-26 17:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
会当临绝顶,一览众山小。不断实验不断总结,不断失败不断总结,先肯定不去管正不正确,想思路,在写公式验证。

TA的精华主题

TA的得分主题

发表于 2007-4-26 17:17 | 显示全部楼层

站得高,看得远。

谢谢提供

TA的精华主题

TA的得分主题

发表于 2007-4-26 19:05 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-25 07:18 , Processed in 0.046153 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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