Excel 使用公式排序

图片中,当H3输入1时,I列从C列找有1的单元格在A列单元格的位置的数值,同时J列也会找C列有1的单元格后一列的数值10.以此逻辑,K3输入2时,L列从E列找有2的单元格... 图片中,当H3输入1时,I列从C列找有1的单元格在A列单元格的位置的数值,同时J列也会找C列有1的单元格后一列的数值10. 以此逻辑,K3输入2时,L列从E列找有2的单元格在A列单元格的位置的数值,同时J列也会找E列有2的单元格后一列的数值20.
谢谢大家的帮忙
现在有个重点,如果H3输入2时,同样也能得图片中的结果
展开
 我来答
绿衣人敲门
2015-10-19 · 知道合伙人软件行家
绿衣人敲门
知道合伙人软件行家
采纳数:18765 获赞数:63778
毕业于西北大学计算机网络技术专业,现在在西安电力学院进行网络推广维护工作!

向TA提问 私信TA
展开全部
  1. 按公式为成绩排名,虽然大家知道RANK能用来排名,但是却不能处理复杂排名,这里小便提供一个简单公式: =RANK(B2,$B$2:$B$12)

  2. 下面来详细解释,如何操作。看下面这幅图,排名有相同的成绩,这是简单rank不能处理的问题。所以要用复杂rank才可以处理

  3.  B2指开头第一位成绩,B是成绩栏

  4.  B12指最后一位成绩

  5. =RANK(B2,$B$2:$B$12),按这个步骤,可以在C2放入这个公式,回车即可。得出为5。如果不能显示,请查看公式复制时是否把空格给复制了。

  6. 最后,下拉排名就ok了,鼠标放在黑点处,点左键下拉即可,成绩就这样简单的出来啦。相同排名的也向后拉了一位,看图就知道了。

金牛绅士
2010-12-12 · TA获得超过724个赞
知道小有建树答主
回答量:301
采纳率:0%
帮助的人:253万
展开全部

C2=INDEX(A:A,MOD(LARGE(B$2:B$6+ROW(B$2:B$6)%%,ROW(A1)),1)*10000)

数组,以Shift+Ctrl+Enter结束输入。向下填充

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱精彩人生168
2019-02-17 · TA获得超过422个赞
知道小有建树答主
回答量:390
采纳率:50%
帮助的人:161万
展开全部

I3公式:=IFERROR(INDEX($A:$A,SMALL(IF($C$3:$C$100=$H$3,ROW($3:$100),""),ROW(A1))),"")

J3公式:=IFERROR(INDEX($D:$D,SMALL(IF($C$3:$C$100=$H$3,ROW($3:$100),""),ROW(A1))),"")

L3公式:=IFERROR(INDEX($A:$A,SMALL(IF($E$3:$E$100=$K$3,ROW($3:$100),""),ROW(A1))),"")

M3公式:=IFERROR(INDEX($F:$F,SMALL(IF($E$3:$E$100=$K$3,ROW($3:$100),""),ROW(B1))),"")

以上都是数组公式,输完公式后需光标停留再编辑栏,ctrl+shift+回车,全部下拉即可。

追问
你好,有办法做到H3输入2也能得到后面得结果
追答

I3公式:=IFERROR(INDEX($A:$A,SMALL(IF(($C$3:$C$100=$H$3)+($E$3:$E$100=$H$3),ROW($3:$100),""),ROW(A1))),"")

J3公式:=IFERROR(INDEX(IF($H$3=1,$D:$D,IF($H$3=2,$F:$F)),SMALL(IF(($C$3:$C$100=$H$3)+($E$3:$E$100=$H$3),ROW($3:$100),""),ROW(A1))),"")

ctrl+shift+回车,全部下拉即可。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
boyayes
2019-02-17 · TA获得超过4520个赞
知道大有可为答主
回答量:4231
采纳率:75%
帮助的人:1042万
展开全部
如果数据越多的话,能不用数组公式的尽量不要用数据公式,不然数组公式过多的话,很容易造成表格卡顿。
I3用数组公式:(公式输入I3然后按SHIFT+CTRL+回车退出单元格)
=IFERROR(INDEX(A:A,SMALL(IF(C$3:C$12=H$3,ROW($3:$12)),ROW(1:1))),"")
J3公式:
=IFERROR(VLOOKUP(I3,A$3:D$13,4,),"")
L3用数组公式:(公式输入L3然后按SHIFT+CTRL+回车退出单元格)
=IFERROR(INDEX(A:A,SMALL(IF(E$3:E$12=K$3,ROW($3:$12)),ROW(1:1))),"")
M3公式:
=IFERROR(VLOOKUP(L3,A$3:F$13,6,),"")
最后下拉填充公式即可。
注意:J和M列用VLOOKUP可解决,前提是A列的编号不能有重复。
追问
你好,有办法做到H3输入2也能得到后面得结果
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友94340ce
2019-02-18 · TA获得超过147个赞
知道小有建树答主
回答量:125
采纳率:81%
帮助的人:16.3万
展开全部
以前做报表的时候写过一个公式,忘记详细内容了,以下是思路
1.首先,对要排序的内容进进条件检查,去除空的单元格。主要function:countif 条件判断公式,获取非空单元格数量备用。
2.用if判断,如果第一条返回的结果大于1,说明数据有排序的必要。如果等于1,就一个数据,没必要排序。然后在对单元格进行填充,比如填充成1,2,3,4,5等,确定大小顺序。
3.用rank对数据进行排序
完成

以上,可用于生成自动排序的数据,如果配合柏拉图,效果极佳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(14)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式