将数字存储为 VLOOKUP 的文本

将数字存储为 VLOOKUP 的文本

我正在从多个工作簿中汇总大量数据,并且需要交叉引用数千个项目,这对于 VLOOKUP 来说非常适合。

然而,我得到的只是可爱的#NA 错误。

当然,问题还是像往常一样类型不匹配。出于某种原因,选择单元格并将类型设置为文本是不够的,您必须输入单元格然后按回车键(F2 + Enter,或使用下面提供的代码)。有没有更好的方法使用内置的 excel 函数强制数据为某种类型?我尝试了从格式刷、文本到列等所有方法,但都没有结果。

我用作解决方法的 VBA 代码:

Sub Macro3()
' Select the starting cell, macro will work it's way down the list changing nothing.
'
Dim variable As String
Dim t As Integer

Application.ScreenUpdating = False
Application.DisplayAlerts = False

For t = 0 To 500
    variable = ActiveCell.FormulaR1C1
    ActiveCell.FormulaR1C1 = variable
    ActiveCell.Offset(1, 0).Range("A1").Select
Next t

Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

答案1

不幸的是,Excel 认为自己比你更了解数字,无论你做什么,如果你加载看起来像数字的东西,它就会变成数字。

我通常的做法是将公式放在辅助列中,使其成为文本=TEXT(A1,"0"),将公式复制下来,然后复制整个列并Paste Values覆盖原始数据。然后,您可以丢弃辅助列。

答案2

您需要用空白字符串封装单元格以强制将数字转换为文本。

在辅助列中=A1 & ""复制该列。现在,当您执行 VLOOKUP 时,数字将被视为文本。

相关内容