ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-5-17 20:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖已被收录到知识树中,索引项:数组公式
原帖由 胡剑0227 于 2009-5-15 02:01 发表
如果悟出来了,那么我们再尝试实现这个图,这个图和顶楼差不多少...需要多一道程序,说难不难,说简单也不简单

这里先说明一下,这里表示左边是7个离散的列数组,不要当成一个区域隔列空单元格的情况来处理。

这么久没来落后不少啊,先从217楼开始吧。

这里先说明一下,这里表示左边是7个离散的列数组,不要当成一个区域隔列空单元格的情况来处理

[ 本帖最后由 胡剑0227 于 2009-5-18 21:36 编辑 ]

提升数组意识新问题.rar

6.54 KB, 下载次数: 127

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-5-17 20:39 | 显示全部楼层
原帖由 moon2778 于 2009-5-16 15:44 发表
217楼作业时,发现一个问题,百思不得其解。
为什么作业里面的黄色区域不能用right(,1),一用就出错。


美女,可以很肯定的说你的脑子确实一团浆糊了,哈哈。

其一:COLUMN($A$2:$G$2)*7<7^2,要怎么复杂吗?两边除以7难道有什么区别吗?
其二:
可能你不知道,其实不止IF函数,所有的函数嵌套都不能超过7层,在07版就变成64层了。
你的思路这里就没有调转过来,你是用光了7层嵌套,因为你使用了7=(6+1)=((5+1)+1)=(((4+1)+1)+1)=...=((((((1+1)+1)+1)+1)+1)+1)使用了6层。但如果你使用7=(4+3)=((3+1)+(2+1))=...=((((1+1)+1)+1)+((1+1)+1)),只使用了4层。
这样的方式就省钱多了。220层的作业要完成10个离散的列组合成二维,你那么用还不用完呀,呵呵。
其三:
=RIGHT(SMALL(CHOOSE(TRANSPOSE(ROW($1:$7)),A2:A9,C2:C9,E2:E9,G2:G9,I2:I9,K2:K9,M2:M9)+ROW($1:$8)*10,(ROW($1:$8)-1)*7+TRANSPOSE(ROW($1:$7))),1)
这里使用了RIGHT函数来 剔除 +ROW($1:$8)*10 带来的影响,那么更朴实的方式应该是
=SMALL(CHOOSE(TRANSPOSE(ROW($1:$7)),A2:A9,C2:C9,E2:E9,G2:G9,I2:I9,K2:K9,M2:M9)+ROW($1:$8)*10,(ROW($1:$8)-1)*7+TRANSPOSE(ROW($1:$7)))-ROW($1:$8)*10
即在末尾减 ROW($1:$8)*10 就可以了,这样也不会导致你括号不够用的情况了,呵呵

使用名称定义是突破嵌套的最好方式!
既然谈到括号的突破,就IF函数来个脑筋急转弯,呵呵。

不准用名称定义,尝试使用IF函数实现任意多条件的情况。
具体这么把,A1可以是1到100的自然数,在A2单元格写函数返回对应列的列标吧,比如A1=2,A2=B,A1=4,A2=D,只要示意即可...


纯粹来一个思维突破,呵呵

[ 本帖最后由 胡剑0227 于 2009-5-18 21:37 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-5-17 20:51 | 显示全部楼层
再来220楼,请版主指教。

呵呵两个作业都不符合要求,数据源是离散的,和所在单元格区域无关。这里是第二阶段了,所以有了新的东西哟,呵呵

[ 本帖最后由 胡剑0227 于 2009-5-18 21:46 编辑 ]

合并数组.rar

4.96 KB, 下载次数: 130

TA的精华主题

TA的得分主题

发表于 2009-5-17 21:08 | 显示全部楼层
原帖由 moon2778 于 2009-5-15 19:23 发表
  给一个好玩的东西,合并单元格猜想,看图片是看不出来区别的,下附件来看吧,明白的可以无视,我只是想说,合并单元格也可以这样来用。

这个现象我曾经在一个帖子里问过,呵呵。非正常的合并单元格其实是10-17的一组数用格式刷刷出来的效果。

TA的精华主题

TA的得分主题

发表于 2009-5-17 21:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 胡剑0227 于 2009-5-17 20:39 发表


美女,可以很肯定的说你的脑子确实一团浆糊了,哈哈。

其一:COLUMN($A$2:$G$2)*7



啊。。。哭死。。。献丑,好丢脸哦。。。我想找个地方藏起来。。。

TA的精华主题

TA的得分主题

发表于 2009-5-17 21:59 | 显示全部楼层
刚刚应用IF函数完成了“将离散一维数组合并成二维数组”的作业,果然有很多新的收获:
原来IF函数的第2、3个参数同时是二维数组时,第一个参数的构成不同于第2或第3个参数至少有一个是一维数组的情况。太神奇了!
看来认真研究楼主每次的作业很有必要!

合并数组.rar

5.87 KB, 下载次数: 273

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-5-17 22:29 | 显示全部楼层
不准用名称定义,尝试使用IF函数实现任意多条件的情况,假定每个条件下都返回数字。
具体这么把,A1可以是1到100的自然数,在A2单元格写函数返回对应列的列标吧,比如A1=2,A2=B,A1=4,A2=D,只要示意即可...???
普通公式?必须用if?不能address。。。?address好简单,呵呵。
由于本人有大事要办,向老师请事假3天。。。不晓得回来还跟不跟的上。。。慢慢想吧。。。

使用ADDRESS函数又特殊化了,没有普适性了么,呵呵。这是重点就是突破条件的个数

[ 本帖最后由 胡剑0227 于 2009-5-18 21:53 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-5-18 00:09 | 显示全部楼层
提交275楼作业

MID函数合并离散列.rar

4.83 KB, 下载次数: 275

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-5-18 00:49 | 显示全部楼层
原帖由 moon2778 于 2009-5-17 20:13 发表
既然要研究index,那就把问题集中起来,一起思考吧。

通过不断深入,感觉对INDEX越来越清晰了。
INDEX函数.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-5-18 09:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 piggy_19840215 于 2009-5-18 00:49 发表

通过不断深入,感觉对INDEX越来越清晰了。


大家注意休息呀,看看发帖时间是凌晨,呵呵。似乎看到了曾经的自己。

通过测试来了解一个函数是极好的方式,这样心里就亮堂堂的了,以后使用时就不必忐忑不安...很好!!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-23 14:05 , Processed in 0.045559 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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