ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

《有志于成为数组高手的不要错过》的学习笔记

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-8-14 22:33 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 ringdove 于 2011-8-15 00:07 编辑

最近在学习帖子《有志于成为数组高手的不要错过》,一直回帖做题感觉比较乱,到时候自己也不好找,故从今天开始整理如下。
http://club.excelhome.net/thread-431489-1-1.html

不过已经学习到214楼了,前面的就不记录题目了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-8-14 23:54 | 显示全部楼层

214楼作业

本帖最后由 ringdove 于 2011-8-15 09:45 编辑

离散数组整合为二维数组

新问题.jpg

此题的关键就是把七个一维数组组合成一个二维数组。

1. 可以用if通过=if({1,0},array1,array2)来构造,由于要嵌套n个if语句,可以分解逐步构造,见附件。最后组合成二维数组的公式如下
  1. =IF({1,1,1,1,1,1,0},IF({1,1,1,1,1,0},IF({1,1,1,1,0},IF({1,1,1,0},IF({1,1,0},IF({1,0},A2:A9,C2:C9),E2:E9),G2:G9),I2:I9),K2:K9),M2:M9)
复制代码
2. 可以通过choose函数组合,公式如下
  1. =CHOOSE({1,2,3,4,5,6,7},A2:A9,C2:C9,E2:E9,G2:G9,I2:I9,K2:K9,M2:M9)
复制代码
错误反思:
在用名称封装二维数组整合的过程中,单元格没有变成绝对引用,导致结果出错。
在用名称封装数组的时候,一般都需要用绝对引用,避免行列偏移。当然,也有情况会需要用到相对引用。

其他排序部分,要用到的小技巧就是原始数组的改造

具体解体思路及过程见附件

提升数组意识新问题_ringdove.rar

12.09 KB, 下载次数: 36

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-8-15 00:05 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
if,choose数组化的相关阅读资料

[分享]if({1,0},数组1,数组2)原理剖析-猜想
http://club.excelhome.net/thread-316910-1-1.html

深化数组的自适应,详细解释IF{1,0},choose{1,2}等样式是如何返回数组的
http://club.excelhome.net/thread-526776-1-1.html

[分享]通过IF函数的数组化,实现对数组的精确性取址处理
http://club.excelhome.net/thread-311411-1-1.html

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-8-15 09:49 | 显示全部楼层

217楼的题目

本帖最后由 ringdove 于 2011-8-16 17:50 编辑

合并数组.rar (7.93 KB, 下载次数: 11)

合并数组-更改后.rar (9.19 KB, 下载次数: 9)

组合数组.jpg

明白了,原来在03版下面所有函数只能嵌套7层,做到第九个的时候正好嵌套到第七层,所以再嵌套下去就不行了

这道题碰到问题了,正在那个帖子里面求助。合并到第九层没问题,但是到第十层同样的方法的时候就提示公式有错误。

但是奇怪的是把第九层的公式用名称封装后,在第十层里面的公式用又没问题。

等有结果了再来更新

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-8-16 15:22 | 显示全部楼层

272楼用mid函数合并离散列

还是思路问题,一开始就只想到把文本连接成A-BB-C-D-E-F-GG的形式,没有想到可以把它连接成-A-BB-C-D-E-F-GG-的形式。
再取-的位置时,一开始想到的就是去取所有8个减号的位置,然后费了大量脑细胞如何在8列的矩阵中分别取出前七列和后七列。后来茅塞顿开,可以直接取-的时候取前7个和后7个,而不是一下子取8个

另外,用名称封装公式真是一个好办法,公式易读性增加了不少。


MID函数合并离散列.rar

5.39 KB, 下载次数: 13

TA的精华主题

TA的得分主题

发表于 2011-10-24 17:48 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-12-26 14:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢!辛苦了,认真学习

TA的精华主题

TA的得分主题

发表于 2012-1-30 14:00 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-2-15 16:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
向您学习,现在连笔记俺不敢写
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2012-9-6 18:27 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-21 16:57 , Processed in 0.037185 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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