excel公式不理解,希望高手能帮忙解答 数组运算公式

=INDEX(A:A,SMALL(IF(MATCH(A$1:A$12&$C$1:$C$12,A$1:A$12&$C$1:$C$12,)=ROW(A$1:A$12),ROW... =INDEX(A:A,SMALL(IF(MATCH(A$1:A$12&$C$1:$C$12,A$1:A$12&$C$1:$C$12,)=ROW(A$1:A$12),ROW(A$1:A$12),4^8),ROW(A2)))&"" 展开
 我来答
万年金刚钻
2013-06-05 · TA获得超过1.6万个赞
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:3521万
展开全部
逐步来:
1)(MATCH(A$1:A$12&$C$1:$C$12,A$1:A$12&$C$1:$C$12,)
数组公式,会产生12次数据,轮流把每行的A&C的值在(A1&C1):(A12&C12)中进行比较,得到本行的综合数据在这两列中第一次出现的位置(注意如第九行,因为是第二次出现,得到的不是8,是7)
2)IF(MATCH(A$1:A$12&$C$1:$C$12,A$1:A$12&$C$1:$C$12,)=ROW(A$1:A$12),ROW(A$1:A$12),4^8)
加上IF,就是两种可能,判断条件就是
a)如果在序列首次出现的位置,和轮流的次数相同,说明就是本次是第一次,返回由小到大轮流的次数;
b)否则说明前面已经出现过,返回一个很大的数字4^8(9^6什么的都是一个意思)这个数字将在后面的Small中排除本行的数据
3)SMALL(IF(MATCH(A$1:A$12&$C$1:$C$12,A$1:A$12&$C$1:$C$12,)=ROW(A$1:A$12),ROW(A$1:A$12),4^8),ROW(A2))
前面的IF产生一串数字,那么,每行究竟取哪个数字呢?small的这个参数的意思是第几大的数字。对,就是取和本行行号相同的的那个(这样就跳开了标题行的1)也就是在第二行取得到的数字中第二大的,带三行去第三大的、、第九行取第九大的(注意,第九次的搜索数被IF转成了4^8)所以取数中没有九只有8,4^8,10,,,所以第九大的数是10!
4)INDEX(A:A,SMALL(IF(MATCH(A$1:A$12&$C$1:$C$12,A$1:A$12&$C$1:$C$12,)=ROW(A$1:A$12),ROW(A$1:A$12),4^8),ROW(A2)))
当然就是在A:A里取出第2行、第3行、、第8行、第10行的A列的数据了
5)回到那些个重复的地方了,被转置的数值4^8是什么?65536!index(A:A,65536)就是 A65536,这个格子的值,一般来说是0,所以0和“”用&来操作一下,就是空白了哦
不知道我的理解对不对,还希望有大神能指点一下
DZGZUFO
2013-06-05 · 超过22用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:43.3万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式