我有一个Excel工作表,其中包含多个列中的数据。对于特定列,我将需要Excel将值(例如10到15)之间的所有值替换为值1,将值16和20之间的值替换为值2,依此类推。
我知道如何为单个值做这件事;即:我可以将值10替换为1,11乘以1,依此类推。但这将是一项乏味的练习。是否有一些代码可以执行此任务?
感谢您的帮助。
的问候, 阿里
答案 0 :(得分:1)
这是一种快速而肮脏的方式,必须根据您真正想要改变的值来修改。这将11到15转换为1,将16到20转换为2等等。
您可能希望在电子表格上放置一个按钮,然后右键单击并选择“查看代码”。然后在Sub和End Sub语句之间输入以下内容。 “RangetoChange”是命名范围的名称,或者您可以放入范围本身,例如“A1:A100”。一旦输入完毕,您就会退出设计模式(您输入以放置按钮),然后单击按钮。确保将公式更改为您真正想要的结果。
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
答案 1 :(得分:1)
如果您不需要使用宏自动执行此操作或经常重复,则可以在电子表格中快速执行此操作。
=INT(A1/5) - 1
。这将使用B列中的调整值替换A列中的值。继续使用任何其他列。