ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-5-11 13:13 | 显示全部楼层
本帖已被收录到知识树中,索引项:数组公式
原帖由 icydefender 于 2009-5-11 11:31 发表
谢谢胡剑大哥,可我不知道为什么
=lookup(2,{2,4;3,5})要取4而不是取2呢?2不是正好相等吗?

对啊。就是找到2,所以返回4啊。

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-5-11 13:30 | 显示全部楼层
原帖由 weifaxiang 于 2009-5-11 13:13 发表

对啊。就是找到2,所以返回4啊。


呵呵,这里LOOKUP的用法类似VLOOKUP,在查找表的第一列找,找到后返回最后一列的对应元素,这个可以看lookup函数的帮助,还有,从这里看lookup的这个用法应该是模糊用法,你也可以去看看帮助,应该是的。

呵呵,要睡觉了,这个回帖思维都出问题了,呵呵。

[ 本帖最后由 胡剑0227 于 2009-5-11 13:43 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-5-11 13:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 icydefender 于 2009-5-11 11:31 发表
谢谢胡剑大哥,可我不知道为什么
=lookup(2,{2,4;3,5})要取4而不是取2呢?2不是正好相等吗?


130和131楼的朋友说得对的。这里{2,4;3,5}是个 2行*2列 的查找表,不是驱动参数,因为普通应用时也是数组形式的。我想这样有有点搞晕了,呵呵。
第一列就是{2;3},所以找到2,然后返回对应的第二列{4;5}的4。

如果有问题可以再看看lookup的帮助,我想是我的参数驱动把你搞混了,正好提一下。驱动参数是函数普通应用时为单值参数的位置变成数组时的特定称呼。

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

TA的精华主题

TA的得分主题

发表于 2009-5-11 14:24 | 显示全部楼层
哇 深奥啊 谢谢大家的帮助  我再仔细看看帮助!感谢大家了

TA的精华主题

TA的得分主题

发表于 2009-5-11 16:50 | 显示全部楼层

啊。。。落下大部队了。。。

1楼作业草稿纸。。。。。非常有收获。。。谢谢。。。原来二维数组是这么来的。。。

[ 本帖最后由 moon2778 于 2009-5-11 16:57 编辑 ]

1楼草稿纸.rar

9.16 KB, 下载次数: 280

TA的精华主题

TA的得分主题

发表于 2009-5-11 16:52 | 显示全部楼层
原帖由 icydefender 于 2009-5-11 10:50 发表
我有疑问
=LOOKUP({2,3;3,4},{2,4;3,5})
这个求出来的为什么是{4,5;5,5}呢?

lookup有2种用法:1、是向量用法。其第2、3参数为1行或1列数。这是我们常用的。
         2、是数组用法。只有第2参数,是矩形数组。正如上述题。
        数组用法:先判断数组(区域)是否行数大于等于列数,如是,在第1列查找第1参数,返回对应的最后列值;若列数大于行数,则在第1行查        找第1 参数,返回最后一行对应值。
这样就好理解=LOOKUP({2,3;3,4},{2,4;3,5})的值是{4,5;5,5}了。

TA的精华主题

TA的得分主题

发表于 2009-5-11 16:55 | 显示全部楼层
原帖由 mxqchina 于 2009-5-7 18:03 发表


=--RIGHT(SMALL(ROW(A2:G9)*1000+A2:G9,COLUMN($A:$G)+(ROW($A$2:$G$9)-2)*7),3)

个人觉得红色部分是此题关键核心。这个理解了,就不难了。照葫芦画瓢。。。。



貌似可以不用减负运算吧。。。如果后面不参与计算,另外可以×10 right1,ROW($A$2:$G$9)可以改为ROW($1:$8),我是这么想的。不晓的是不是很幼稚。。。

TA的精华主题

TA的得分主题

发表于 2009-5-11 17:07 | 显示全部楼层
原帖由 moon2778 于 2009-5-11 16:55 发表



貌似可以不用减负运算吧。。。如果后面不参与计算,另外可以×10 right1,ROW($A$2:$G$9)可以改为ROW($1:$8),我是这么想的。不晓的是不是很幼稚。。。

其实可以用 ×10 right1 ,但原数据必须是1位数,否则出错;将ROW($A$2:$G$9)改为ROW($1:$8) 完全可以。

TA的精华主题

TA的得分主题

发表于 2009-5-11 17:14 | 显示全部楼层

啊。。。落下大部队了。。。

17楼作业,初学者向老师汇报收获。

规律是TRANSPOSE(ROW($1:$5))和ROW($1:$5)由于其维度方向不同,当两者进行运算时,自动从1维扩展到2维相同区域,扩展规则是复制,然后来进行比较计算

比如一个1列4行数据与一个3列1行数据来进行同等算术运算,前两者会扩展为3列4行数据。

[ 本帖最后由 moon2778 于 2009-5-11 17:34 编辑 ]

体悟行列数组运算规则(初学者汇报感受).rar

6.8 KB, 下载次数: 241

TA的精华主题

TA的得分主题

发表于 2009-5-11 17:30 | 显示全部楼层

努力赶上大部队

18楼作业学习。嘿嘿,好玩。

普通函数数组应用的一般规则(初学者汇报收获).rar

5.95 KB, 下载次数: 219

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-22 18:58 , Processed in 0.033465 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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