ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2015-6-9 11:40 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖已被收录到知识树中,索引项:数组公式
本帖最后由 唐伯狼 于 2015-6-9 13:43 编辑
唐伯狼 发表于 2015-6-9 11:33
数组的构造还是咨询了楼主。同时加深了对lookup函数的理解

缓慢学习中。

做法有缺陷  复制公式到其他单元格会出错

可以把row(区域)  column(区域)  中的  区域固定   参数也就固定了

二次修改


修改公式的时候  我把公式 换成这样   I1:N2=LOOKUP((ROW(1:2)-1)*6+COLUMN(A:F),IF({1,0},ROW(A1:A12),A1:A12))

发现结果也对,但还是有缺陷------------------对比了其他人的答案,发现别人用了绝对引用

绝对引用的作用是复制公式到其他地方 仍能够得出正确的答案

最终的公式为  I1:N2=LOOKUP((ROW($1:$4)-1)*3+COLUMN($A:$C),IF({1,0},ROW($A$1:$A$12),$A$1:$A$12))




三次修改


公式本身不需要修改,需要修改自己对数组的认识


原来的公式结果值是一个单元素数组,不是二维数组,不方便计算






通过  数组特辑班  还有这篇帖子前5页的学习,对数组有了初步的认识,有种豁然开朗的感觉。


以前遇到稍微复杂的问题只能百度,现在可以自己先思考怎么解决,慢慢理解数组的构造过程。





TA的精华主题

TA的得分主题

发表于 2015-6-9 13:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
很早之前晓月老师就给我推荐过这篇帖子,当时没入门看不懂     现在有种相见恨晚的感觉

努力学习

TA的精华主题

TA的得分主题

发表于 2015-6-19 20:46 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-6-20 10:00 | 显示全部楼层
按照胡版交待,可以白手起家,但不能手无寸铁,所以我虽然渴望成为数组高手,但是我必须要先打好基础。

TA的精华主题

TA的得分主题

发表于 2015-6-20 10:04 | 显示全部楼层
dwgzy 发表于 2015-6-20 10:00
按照胡版交待,可以白手起家,但不能手无寸铁,所以我虽然渴望成为数组高手,但是我必须要先打好基础。

打铁还得自身硬。从函数抓起,练就一身硬功夫踏遍EH山阙。

TA的精华主题

TA的得分主题

发表于 2015-6-20 10:05 | 显示全部楼层
MMULT(array1(m行*n列),array2(n行*t列)),返回一个array3(m行*t列)

其中array3的 i 行 j 列元素是这样得到的:array1 的 i 行 数组 和 array2 的 j 列经转置后的数组 进行相乘 然后求和。

即 sum(array1 的 i 行 数组 *  transpose(array2 的 j 列)),数组公式


mmult对于m,n,t的设定很容易记忆
回了mmult 这题就很简单了

=MMULT(J2:P9,10^(7-ROW(1:7)))

TA的精华主题

TA的得分主题

发表于 2015-6-20 10:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
zhanhewang 发表于 2009-5-10 17:44
受益于版主的指导,现学现用,出一题,权当巩固。

=LOOKUP(ROUNDUP(ROW($1:$13)/3,0)+TRANSPOSE(ROW($1:$3)*5-5),ROW($A$1:$A$18),$A$3:$A$20)

这类重新排序的数组使用lookup很合适.



想得到一个什么样的目标数组,那就构造一个和目标数组结构相同数组,我就称他为基础数组好了

通过row等函数的变形,得到基础数组   ;将基础数组作为参数放入合适的函数中,就有机会得到目标数组

有了这个思想,问题的难点就变成了 基础数组的变形

有时候需要多次变形,通过
                  调整行列(transpose,mmult),
                  增减内容(if函数的判断和对数组内容的调整---目前我对使用if函数对数组变形还没有研究过),
                  排序(small,large)
得到  最终的基础数组,有时候过程较多,需要把步骤分解
可能倒推也是一种有效的解题思路(数组刚接触,题见的少,也不知道对不对.呵呵)





对lookup一直没有沉下心来好好研究,使用都是照葫芦画瓢.          有必要回头钻研一下以前学习中跳过的难点


TA的精华主题

TA的得分主题

发表于 2015-7-16 08:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这个对我还是很难呀。。。。。。

TA的精华主题

TA的得分主题

发表于 2015-8-19 14:23 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-10-28 09:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
小白,学习有难度!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-22 10:18 , Processed in 0.034326 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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