我有一个带有一列数字的Excel 2010工作表,例如
-1.5629E+00
-1.5745E+00
-1.4344E+00
-1.6456E+00
这些是log10值,我想要原始值:
0.027359
0.026638
0.036776
0.022614
当然我可以插入一个完成正确操作的列,但这会扰乱后续使用工作表。我宁愿找到一种方法来插入这个文本
= 10 ^
在原始列中每个单元格的开头。我尝试录制一个宏,但该功能只是记录在单元格中添加一个完整的新条目,而不是在开头插入文本。
答案 0 :(得分:1)
选择log10值并运行:
Sub AntiLog()
Dim c as Range
For Each c in Selection.Cells
If IsNumeric(c.value) then c.Value=10^c.Value
Next c
End Sub
答案 1 :(得分:1)
我想你可能误解了@pnuts的评论。 VBA在这里似乎有些过分。我们假设您的值列为A
。在专栏B
中,使用公式
=10^A1
然后向下应用。最后,复制该列并将特殊值粘贴到列A
上,然后删除列B
。
答案 2 :(得分:0)
这是我最终得到的:
Sub AntiLog()
Dim c As Range
For Each c In Selection.Cells
If IsNumeric(c.Value) And Not IsEmpty(c.Value) Then c.Value = 10 ^ c.Value
Next c
End Sub
与任何所需的关键相关联。然后,单击整个列范围,点击您的键,然后完成工作。最初工作量很大,但现在修复这些列只需要几秒钟的时间。感谢所有回复的人,尤其是蒂姆威廉斯;你的代码足以让我完成最后的工作。