Excel 按另一列对列进行排序

Excel 按另一列对列进行排序,excel,sorting,Excel,Sorting,我有一个excel排序问题。我有一列包含名称(a列),还有一列包含利润(H列)。我希望列I包含A列中的名称,但按H列的升序/降序排序 我希望它看起来像这样: A------------------------B---C---D--E----F-------G-------H----------I---------------- Name-----------------""---""- -""--""---""-------""--------Profit---""--------------

我有一个excel排序问题。我有一列包含名称(a列),还有一列包含利润(H列)。我希望列I包含A列中的名称,但按H列的升序/降序排序

我希望它看起来像这样:

A------------------------B---C---D--E----F-------G-------H----------I----------------

Name-----------------""---""- -""--""---""-------""--------Profit---""---------------   

Fruit Salad----------3---0---0---3---108----828----720------Fruit Salad

Cookies--------------0---2---0---3---126----902----776------Shortcake 

Korean Kimchi----6---0---0---2---144----970----826------Cookies 

Shortcake-----------0---3---0---2---144----904----760------Fried Chicken 

Fried Chicken-----0---3---0---3---162----964----802------Korean Kimchi

我开始胡闹,但后来我对此产生了兴趣。

试试第一栏中的公式(从I1开始):

大函数查找第n个最大值,其中n是函数所在行的数目。(因此它为第1行找到第一个最大值,第2行找到第二个最大值,以此类推)

然后我们需要在数字列表中找到该数字的位置,这就是匹配所做的

然后索引从A列的同一行中获取值

简单:)


请注意,这仅在H列中没有重复值的情况下有效。

通常,您会对整个集合进行排序,这样每一行都会使用排序重新排列。您是否需要保留数据的原始排序顺序?或者您可以将两个必要的列复制到另一个位置,对它们进行排序,然后将它们复制回来。但这很无聊。
=INDEX($A$1:$A$7,MATCH(LARGE($H$1:$H$7,ROW(I1)),$H$1:$H$7,0))