凯蒂(Katy)的工作表在某些列中包含从1到5的整数数据值。(在那些特定的列中,这些是列中唯一的值。)她想“反转”这些数据值,例如5变为1,4变为2,3保持不变,2变为4,1变为5。她只希望在某些列中发生这种情况,并且她一直试图找出如何完成任务的方法。

实际上,有几种方法可以完成此任务。

第一种是使用简单公式进行逆转。例如,假设要反转的值在A列中,从第2行开始。下面的公式将起作用:

=6-A2

根据需要向下复制公式,结果是相反的值。然后,您可以使用“选择性粘贴”将值复制并粘贴到所需的任何位置。 (使用选择性粘贴,您可以仅复制值,而不复制创建值的公式。)

但是,这不是您可以使用的唯一公式。您可以通过以下方式使用CHOOSE函数:

=CHOOSE(A2,5,4,3,2,1)

另一种方法是在一组不同的单元格中设置数字1-5(假设您将这些值放在单元格T1:T5中),然后以这种方式使用RANK函数:

=RANK(A2,T1:T5,0)

=RANK.EQ(A2,T1:T5,0)

两者都返回所需的冲销,但是第二个示例(RANK.EQ)

应该在Excel 2010和更高版本中使用,因为Excel 2007之后不推荐使用RANK函数。

您还可以通过使用宏来执行任务来反转这些值。这是一个可以完成此工作的简单方法:

Sub ReverseNumbers()

Dim rCell As Range   For Each rCell In Selection     With rCell       If IsNumeric(.Value) Then         .Value = 6 - .Value       End If     End With   Next End Sub

若要使用宏,请选择要反转的单元格,然后运行它。

首先检查以确保该单元格包含数字值;如果是这样,它将从6中减去单元格中的值,从而有效地反转该值。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

链接:/ excelribbon-ExcelTipsMacros [点击此处在新的浏览器标签中打开该特殊页面]。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本提示(13140)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。