如何通过添加单引号将 60000 个单元格转换为文本?

如何通过添加单引号将 60000 个单元格转换为文本?

想要转换

311562 = '311562

我尝试使用这个公式=CONCATENATE("'",B8),然后将结果复制到记事本

'311562

然后将结果再次粘贴到 excel 中,但它不起作用 excel 会自动将输出更改为 2 个单引号

''311562

编辑:

如果我使用 char(39),POI API 会在数据中添加我不想要的引号。 使用 Char(7)

答案1

如果您拥有 Excel 2013 或更高版本,则可以使用 Flash Fill。

如果您的数据在 A 列,请在 B 列中给出转换数据的示例;例如,如果 311562 在 A1 中,则在 B1 中写入“311562”。

像这样:

现在,按 CTRL+E 或单击主页->填充->快速填充。

答案2

在这里我将采用一种不同的方法。

选择要更改的单元格,然后右键单击所选内容并选择Format Cells。将单元格格式从默认更改为文本。

Excel 现在会理解这些数字是文本,并将它们左对齐,并将它们视为文本,而不是数字。它与在数字前面添加 ' 的效果完全相同,只是,您也可以根据需要将其改回来,我认为这是个额外的好处。

答案3

使用列中的值A, 在B1进入:

=CHAR(39) & A1

并向下复制。然后复制列并将 PasteSpecialValues 粘贴回列A

编辑#1:

您能做的最好的事情就是运行这个简短的 VBA 宏:

Sub ApplyTick()
    For Each r In Range("A:A").Cells.SpecialCells(2)
        r.Value = "'" & r.Value
    Next r
End Sub

此代码将 a 应用于PrefixCharacter列中的每个常量A

编辑#2:

宏的安装和使用非常容易:

  1. ALT-F11 打开 VBE 窗口
  2. ALT-I ALT-M 打开新模块
  3. 粘贴内容并关闭 VBE 窗口

如果您保存工作簿,宏将随之保存。如果您使用的是 2003 以后的 Excel 版本,则必须将文件保存为 .xlsm 而不是 .xlsx

要删除宏:

  1. 调出如上所示的 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

要使用 Excel 中的宏:

  1. ALT-F8
  2. 选择宏
  3. 触摸运行

要了解有关宏的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

必须启用宏才能使其工作!

相关内容