用Excel文件中的单个值replace或重新编码几个不同的值

我有一个Excel工作表,其中包含多个列中的数据。 对于一个特定的列,我将需要使用Excel将值10之间的所有值(例如10到15)replace为值1,将值16和20之间的值replace为值2等等。

我知道如何做一个单一的价值; 即:我可以将值10replace为1,11replace为1等等。 但这将是一个乏味的练习。 有一些可以执行这个任务的代码行吗?

谢谢你的帮助。

问候,阿里

如果您不需要使用macros来自动执行此操作,或者经常重复,则可以在电子表格中快速执行此操作。

  1. 在列的右侧插入新列以进行更改。 假设列是A,你刚创build了一个新的列B.
  2. 在单元格B1中input公式=INT(A1/5) - 1
  3. 将此公式复制到列B中的所有单元格,以获得列A中单元格的范围。
  4. 复制B列中的单元格,然后使用右键单击“Paste special …”(值特定),然后单击“确定”将其粘贴到A列。
  5. 删除B列(这是一个临时/工作列)。

这将用列B中的调整值replace列A中的值。继续执行任何其他列。

这是一个快速和肮脏的方式,这将不得不根据你真正想要改变什么值来修改。 这将11到15转换成1,16到20到2等。

您可能需要在电子表格上放置一个button,然后右键单击并select“查看代码”。 然后在Sub和End Sub语句之间input以下内容。 “RangetoChange”是指定范围的名称,或者可以放在范围内,如“A1:A100”。 一旦全部input,那么你只是退出devise模式(你input放置button),然后单击button。 确保将公式更改为您真正想要的结果。

 Dim A() As Variant Dim i As Integer A = Range("RangetoChange") For i = 1 To (UBound(A) - LBound(A) + 1) A(i, 1) = (A(i, 1) \ 5) - 1 Next i Range("RangetoChange") = A