ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > 函数与公式 > 如何在Excel中求一列数的逆序数?

如何在Excel中求一列数的逆序数?

作者:绿色风 分类: 时间:2022-08-18 浏览:138
楼主
水星钓鱼
Q:在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。逆序数为偶数的排列称为偶排列;逆序数为奇数的排列称为奇排列。如2431中,21,43,41,31是逆序,逆序数是4,为偶排列。 在Excel中如何求一个排列的逆序数?
A:假设数据在A1单元格,则可以用以下数组公式求得该排列的逆序数
  1. =SUMPRODUCT((ROW(INDIRECT("1:"&LEN(A1)-1))<=COLUMN(INDIRECT("rc1:rc"&LEN(A1)-1,0)))*(MID(A1,ROW(INDIRECT("1:"&LEN(A1)-1)),1)>TRANSPOSE(MID(A1,ROW(INDIRECT("2:"&LEN(A1))),1))))
2楼
唐醒之
跟老师学习函数,噗,这个是数组吧,,差距好大呀~~~
3楼
滴水穿石
学习函数思路
4楼
CheryBTL
学习INDIRECT的R1C1引用及省略方法
5楼
CheryBTL
便于新手理解,对于已知是10位长度的数据,可以这样写:
=SUM(N(--MID(A1,ROW(1:9),1)>=--MID(A1,COLUMN(B:J),1))*(ROW(1:9)>=COLUMN(A:I)))
=SUM(N(--MID(A1,ROW(1:9),1)>=--MID(A1,COLUMN(B:J),1))*(ROW(1:9)<=COLUMN(A:I)))

上面用<=或>=结果是完全一样的。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap