0

我需要有关 Excel 格式问题的帮助,这会干扰VLOOKUP我的 Excel 工作表中的功能。

我有两张表,其中包含超过 20,000 个列值作为查找,以及相同数量的值作为参考。两个单元格中的所有值的格式都很奇怪,有些单元格的左上角带有绿色三角形,有些是文本等。

Excel 中有没有一种方法可以使用宏/VBA 来删除或使两个工作表中的所有格式都相似?使用 VBA 的原因是因为要处理这个文件的人需要一切自动化,而且根本不熟悉 Excel。我已经VLOOKUP在单元格中有这个功能,我只需要处理格式。

4

2 回答 2

2

好吧,我以这种方式与部分查找作斗争:

在 items 数组中,我创建新的空 FIRST 列,然后放置公式

="+"&B2

这将获取单元格 B2 的内容并在其前面添加 +。

当我进行 vlookup 时,我将“+”添加到可搜索值

=VLOOKUP("+"&A6,A:O,2,FALSE)

因此,我不是比较字符串和数字,而是比较字符串,方法是在前面添加“+”。

另一种技术是取消所有格式:选择整个列,单击 DATA-TEXT TO COLUMNS-DELIMITED,然后取消选择所有分隔符。单击完成。这将清除您的格式。

==================================================== ==========================

这是您要求的 VBA 解决方案:

从 Excel 调用它

=GetLookup(G2,A:C)

这是VBA:

Function GetLookup(LOOKFOR As String, RANGEARRAY As Range) As String
  GetLookup = Application.WorksheetFunction.VLookup("+" & LOOKFOR, RANGEARRAY, 3, False)
End Function

祝你好运!

于 2012-03-13T20:46:35.977 回答
1

我假设所有单元格中的数据类型都相同,或者您希望它们都相同。以下步骤将使单元格成为统一类型:

  1. 保存您的工作簿,以防不符合您的要求
  2. 选择您希望具有相同单元格类型的所有单元格
  3. 按 Ctrl+1,在“数字”选项卡上,选择您希望这些单元格采用的类型。按确定。
  4. 使用 Alt+F11 打开 VBA 编辑器
  5. 使用 Ctrl+G 打开即时窗口
  6. 键入以下内容:对于选择中的每个单元格:cell.formula = cell.value:下一个单元格
  7. 按回车键(您可能需要等待几秒钟)。

如果您在两个范围上使用相同的数据类型(例如,在步骤 3 中为两个范围选择“文本”)执行此操作,则您应该“将苹果与苹果进行比较”,并且您的 VLOOKUP 应按要求运行。

希望这可以帮助。

编辑:格式化,澄清

于 2012-03-14T00:02:32.630 回答