ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[讨论] 有志于成为数组公式高手的不要错过(功力修炼)(胡剑开课了...)

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2011-12-26 21:02 | 显示全部楼层
本帖已被收录到知识树中,索引项:数组公式
mxqchina 发表于 2009-5-7 17:57
J2
=--RIGHT(SMALL(ROW(A2:G9)*1000+A2:G9,COLUMN($A:$G)+(ROW($A$2:$G$9)-2)*7),3)

这位高手大哥,按你的公式如果在A列插入列就不行了

TA的精华主题

TA的得分主题

发表于 2011-12-26 21:04 | 显示全部楼层
胡剑0227 发表于 2009-5-7 17:54
单单从单元格数值显示来说是实现了目的,但实战意义比较差。不能作为内存数组进行传递,也许还可以改进

[  ...

版主大哥,按公式高手出的这公式=--RIGHT(SMALL(ROW(A2:G9)*1000+A2:G9,COLUMN($A:$G)+(ROW($A$2:$G$9)-2)*7),3)如果在A列插入列就不能七个全部排列出来啦

点评

公式是和单元格结合在一起的,呵呵  发表于 2011-12-26 21:05

TA的精华主题

TA的得分主题

发表于 2011-12-26 21:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
328023293 发表于 2011-12-26 21:04
版主大哥,按公式高手出的这公式=--RIGHT(SMALL(ROW(A2:G9)*1000+A2:G9,COLUMN($A:$G)+(ROW($A$2:$G$9)-2 ...

版主大哥能否帮帮忙,不用行号这个,可以自由插入列呢?拜托,谢谢

TA的精华主题

TA的得分主题

发表于 2011-12-28 09:10 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-12-30 10:12 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
再占一层了,Excel2003中,IF函数理论上可以实现256个条件的判断和控制。
1.JPG

另外,只要将返回的值(此处为1、2、3、4。。。等数字)改为区域或引用,就可以实现区域合并的功能了。
从这个角度在Excel2003中来说,IF可以实现256组区域合并,CHOOSE只能实现29种了。——个人见解,不妥的地方也请指正。

第二部分-IF函数实现256个条件的汇总-EH-CheryBTL-20111230.rar (6.96 KB, 下载次数: 16)

点评

我觉得CHOOSE是否也能嵌套呢,哈哈  发表于 2011-12-30 11:39

TA的精华主题

TA的得分主题

发表于 2011-12-30 12:42 | 显示全部楼层
CheryBTL 发表于 2011-12-30 10:12
再占一层了,Excel2003中,IF函数理论上可以实现256个条件的判断和控制。

经胡版这么一讲,感觉又是茅塞顿开,确定CHOOSE要强大许多呀!
之前一直感觉CHOOSE怎么去嵌套....
如果可以穷尽的话,理论上就会有29的29次方了。。。。。先汗一个呀!

不过,我在测试时,发现还有个问题:
=CHOOSE(INT((ROW($A$1:$A$257)-1)/10)+1,CHOOSE(ROW($A$1:$A$10),1,2,3,4,5,6,7,8,9,10),CHOOSE(ROW($A$1:$A$10),11,12,13,14,15,16,17,18,19,20))
此公式前10个单元格,可以依次返回1,2,3,4,5,6,7,8,9,10;之后就只返回错误了;
如果我用下面公式来测试:刚可以依次返回:11,12,13,14,15,16,17,18,19,20;
=CHOOSE(2,CHOOSE(ROW($A$1:$A$10),1,2,3,4,5,6,7,8,9,10),CHOOSE(ROW($A$1:$A$10),11,12,13,14,15,16,17,18,19,20))

感觉应该是多列数据合并成一列的问题!暂时用CHOOSE还没想到好办法。。。

1.JPG
第二部分-IF函数实现256个条件的汇总-EH-CheryBTL-20111230-2.rar (7.87 KB, 下载次数: 10)

TA的精华主题

TA的得分主题

发表于 2011-12-30 13:45 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-1-5 14:51 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
一直以来总想好好学学数组的应用,别放过。

TA的精华主题

TA的得分主题

发表于 2012-1-13 09:39 | 显示全部楼层
本帖最后由 CheryBTL 于 2012-1-13 09:40 编辑

今天终于把第三阶段任务完成了。
由于原来缺少第一步,先把数据排成一列,到现在才搞定。。。。。

其中第一个表是仅针对行一列数据的计算分解过程,
第二个表:是针对4X4区域的分解计算过程
最后是一个封装过程和解释(封装和解释如图所示):

在此要感谢胡版的耐心讲解、循序善诱的引导方式。一路学下来,受益很大!!

1.JPG

第三阶段-381楼作业-思维的突破-CheryBTL-20120113.rar (16.81 KB, 下载次数: 24)

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-1-13 09:56 | 显示全部楼层
你的收获是我最大的快乐,主题帖的好处就是能不断的FA 光 FA 热,呵呵
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-10-6 12:34 , Processed in 0.043898 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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