Excel:如何将自定义格式单元格内容以文本形式存储
实现方法
Excel没有直接提取单元格显示文本的内置公式,但可以通过两种方式实现需求:
方法一:用TEXT函数模拟自定义格式
如果你的自定义格式是「保留1位小数后加x」,直接用TEXT函数把数值转换成对应格式的文本:
=TEXT(A1,"0.0""x""")
- 其中
A1是原数值所在单元格 "0.0"表示保留1位小数,""x""是在结果后添加固定文本x(Excel公式里双引号需要用两个来转义)
如果你的自定义格式更复杂,只需要把TEXT的第二个参数改成和原单元格的自定义格式规则一致即可(注意格式里的固定文本要加双引号转义)。
方法二:用VBA自定义函数提取显示文本
如果自定义格式太复杂,TEXT函数不好模拟,可以写个简单的VBA函数直接读取单元格的显示内容:
- 按
Alt+F11打开VBA编辑器 - 右键点击当前工作簿,选择「插入」→「模块」
- 在模块里粘贴以下代码:
Function GetDisplayText(cell As Range) As String GetDisplayText = cell.Text End Function
- 返回工作表,在目标单元格输入公式:
=GetDisplayText(A1)
这个函数会直接返回原单元格显示的文本内容,不管格式规则有多复杂。
注意:用VBA方法的话,工作簿需要保存为
.xlsm格式(启用宏的工作簿),否则函数会失效。
内容的提问来源于stack exchange,提问作者br.nz
相关产品推荐
相关产品推荐

