如何在Excel中对齐两列而不会丢失第三列

时间:2015-10-07 08:50:44

标签: excel

我有三列:

Key1   Value1     Key2
 1       50        9
 4       20        4 
 7       35        3
 9       45        1
 3       15        

我希望Key1Key2在同一行中对齐,如果它们具有相同的值,则Value1应根据Key1进行更改。

Key1   Value1     Key2
 9       45        9
 4       20        4 
 3       15        3
 1       50        1
 7       35

我对Excel功能知之甚少,所以请建议直接公式来实现这一点(如果可行的话)。

1 个答案:

答案 0 :(得分:1)

我想过使用Sort。您可以在Excel中设置自定义排序顺序,例如Jan,Feb,March,...但要为范围执行此操作,看起来您需要VBA。

以下公式仅适用于按键2按降序排序的情况。不确定这只是你的例子的一个怪癖。 (但我希望能够提供帮助,其他人可以参与其中。)

第1步

假设上面的Key1在新表中的A1中。在名为Sort之前插入一列,然后在A2中添加此公式。

=IF(ISERROR(VLOOKUP($B2,$D$2:$D$6,1,FALSE)),NA(),MAX($D$2:$D$6)-$B2)

所以你有。

Sort    Key1    Value1  Key2
8       1       50      9
5       4       20      4
#N/A    7       35      3
0       9       45      1
6       3       15  

第2步

选择A B和C列以及不是D 。转到数据/排序并使用排序顺序作为您的密钥。

RESULT

Sort    Key1    Value1  Key2
0       9       45      9
5       4       20      4
6       3       15      3
8       1       50      1
#N/A    7       35  

解释

我使用ISERROR将您Key2以外的项目标记为不适用(NA),以免丢弃排序。然后我在Key2中取最大数字,在本例中为9,然后减去数字的当前值。因此9排序值0气泡到顶部。