Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1924|回复: 2

[已解决]这个数组怎么理解??

[复制链接]
发表于 2008-12-7 17:15 | 显示全部楼层 |阅读模式
已知此数组正确,但我始终看不懂什么原理
请问,这个数组怎么理解??:
=SMALL(IF(ROW($A$7:$A$20)-6=MATCH($A$7:$A$20,$A$7:$A$20,0),ROW($A$7:$A$20)-6,"0"),ROW(A1))
最佳答案
2008-12-7 17:54

ROW($A$7:$A$20)-6返回1~14

MATCH($A$7:$A$20,$A$7:$A$20,0)返回A7:A20中每个单元格内的值一一对应的位置

IF(ROW($A$7:$A$20)-6=MATCH($A$7:$A$20,$A$7:$A$20,0),ROW($A$7:$A$20)-6,"0"),如果A7:A20中每个单元格内的值一一对应的位置等于1~14,就返回对应的1~14,否则返回“0”。

=SMALL(IF(ROW($A$7:$A$20)-6=MATCH($A$7:$A$20,$A$7:$A$20,0),ROW($A$7:$A$20)-6,"0"),ROW(A1)),用SMALL找出IF函数所计算出来的结果中第一小的值,这应套在INDEX中常用的写法,如果没猜错的话完整的公式是=INDEX($A$7:$A$20,SMALL(IF(ROW($A$7:$A$20)-6=MATCH($A$7:$A$20,$A$7:$A$20,0),ROW($A$7:$A$20)-6,"0"),ROW(A1)))

发表于 2008-12-7 17:54 | 显示全部楼层    本楼为最佳答案   

ROW($A$7:$A$20)-6返回1~14

MATCH($A$7:$A$20,$A$7:$A$20,0)返回A7:A20中每个单元格内的值一一对应的位置

IF(ROW($A$7:$A$20)-6=MATCH($A$7:$A$20,$A$7:$A$20,0),ROW($A$7:$A$20)-6,"0"),如果A7:A20中每个单元格内的值一一对应的位置等于1~14,就返回对应的1~14,否则返回“0”。

=SMALL(IF(ROW($A$7:$A$20)-6=MATCH($A$7:$A$20,$A$7:$A$20,0),ROW($A$7:$A$20)-6,"0"),ROW(A1)),用SMALL找出IF函数所计算出来的结果中第一小的值,这应套在INDEX中常用的写法,如果没猜错的话完整的公式是=INDEX($A$7:$A$20,SMALL(IF(ROW($A$7:$A$20)-6=MATCH($A$7:$A$20,$A$7:$A$20,0),ROW($A$7:$A$20)-6,"0"),ROW(A1)))

回复

使用道具 举报

发表于 2008-12-8 10:08 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-10 02:03 , Processed in 0.279716 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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