Excel中函数嵌套的问题,内详!

来源:百度知道 编辑:UC知道 时间:2024/06/10 12:52:20
一个Excel中的函数问题。
已知有以下数据
A B C D E
1 一月一日 100 200 180 300
2 一月三日 250 230 110 190
3 一月四日 360 240 170 240
4 一月七日 420 330 140 260

现在我想在F列和G列中实现下面的效果:
F G
1 100 一月一日
2 110 一月三日
3 140 一月七日
4 170 一月四日
5 190 一月三日
……

也就是说,F列表示的是对从B1到E4中的数据的升序排列,而G列表示的是同行的F列的数据在原来的位置处所对应的A列的文本。
各位高手帮帮忙,我应该在F列和G列输入怎样的函数?(实际的数据非常多,必须用函数)
多谢了啊!

F1=SMALL(B$1:E$100,ROW(1:1)),下拉

G1=INDEX(A:A,MIN(IF(F1=B$1:E$100,ROW(B$1:E$100),65536))),数组公式,按CTRL+SHIFT+回车结束,下拉

这里假定B1:E100中的数据没有重复的。

如果有,也能做,公式就麻烦些:
G1=INDEX($A:$A,SMALL(IF($B$1:$E$100=$F1,ROW($B$1:$E$100),65536),COLUMN(A:A)))&""
数组公式,按CTRL+SHIFT+回车结束,下拉,向右拉

我觉得用两步来做简单些:
第一步在F列输入=min(B1:E1) 向下复制后得到每一行最小的数,然后在后面一列如H列输入:
=small($F$1:$F$100,row()) 在I列输入:
=INDEX($A$1:$F$100,MATCH(H1,$F$1:$F$100,),1)
最后一次向下复制即可。

G1=INDEX(A:A,MAX(($B$1:$E$10=F1)*ROW($B$1:$E$10)))
数组公式

G1=INDEX(A:A,MAX(($B$1:$E$10=F1)*ROW($B$1:$E$10)))
公式用这个就可以