用Excel文件中的单个值replace或重新编码几个不同的值
我有一个Excel工作表,其中包含多个列中的数据。 对于一个特定的列,我将需要使用Excel将值10之间的所有值(例如10到15)replace为值1,将值16和20之间的值replace为值2等等。
我知道如何做一个单一的价值; 即:我可以将值10replace为1,11replace为1等等。 但这将是一个乏味的练习。 有一些可以执行这个任务的代码行吗?
谢谢你的帮助。
问候,阿里
如果您不需要使用macros来自动执行此操作,或者经常重复,则可以在电子表格中快速执行此操作。
- 在列的右侧插入新列以进行更改。 假设列是A,你刚创build了一个新的列B.
- 在单元格B1中input公式
=INT(A1/5) - 1
。 - 将此公式复制到列B中的所有单元格,以获得列A中单元格的范围。
- 复制B列中的单元格,然后使用右键单击“Paste special …”(值特定),然后单击“确定”将其粘贴到A列。
- 删除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