Excel-如何获取表达式文本而不是值
我对一大组Excel数据有问题。另一人输入了如下数据:Excel-如何获取表达式文本而不是值,excel,Excel,我对一大组Excel数据有问题。另一人输入了如下数据: A 10 10:12 11:12:15 B Pig Pig:Koala Dog:Koala:Bird 我的任务是将其转换为如下内容: A 10 10:12 11:12:15 B Pig Pig:Koala Dog:Koala:Bird 我试图使用替代品: = SUBSTITUTE(A1, "10", "Pig") 但问题是,Excel将列中的这些值识别为其他数据类型(数字、时间…),而替换项对这些类型无效 如何解决此问题 多谢各位
A
10
10:12
11:12:15
B
Pig
Pig:Koala
Dog:Koala:Bird
我的任务是将其转换为如下内容:
A
10
10:12
11:12:15
B
Pig
Pig:Koala
Dog:Koala:Bird
我试图使用替代品:
= SUBSTITUTE(A1, "10", "Pig")
但问题是,Excel将列中的这些值识别为其他数据类型(数字、时间…),而替换项对这些类型无效
如何解决此问题
多谢各位
Select column A from first to last record and right click on that,
then change the format by clicking Format cells...
and choose whatever format you want...
像
然后使用替换(A1,“10”,“Pig”)方法此函数将返回与excel显示内容匹配的字符串
Option Explicit
Function ToText(r As Range) As String
If r.Count <> 1 Then
ToText = "#ERR!"
Exit Function
End If
ToText = IIf(r.NumberFormat = "General", CStr(r.Value), Format(r.Value, r.NumberFormat))
End Function
选项显式
函数ToText(r作为范围)作为字符串
如果r.计数为1,则
ToText=“#错误!”
退出功能
如果结束
ToText=IIf(r.NumberFormat=“General”,CStr(r.Value),格式(r.Value,r.NumberFormat))
端函数
例如,如果10:11:12
在A1中,excel认为这是一个时间,并以这种方式格式化,那么=ToText(A1)
将返回字符串10:11:12
,然后可以像处理任何其他文本一样处理该字符串
将其放入电子表格(ALT+F11)上的一个模块中,以便excel可以使用该功能将单元格格式化为
文本
,然后粘贴数据。通过这种方式,Excel会将输入内容保留为文本,而不是将其自动转换为日期
或数字
。然后用替换。我想这可能对你很有帮助,我不介意。如果您有任何代码,请共享。@HarryNinh。。您可以使用Sean Cheashire的答案将值转换为字符串。。然后使用替换函数。如果数据已经在这些单元格中,则重新格式化为TEXT
将没有帮助。是的,数据已经存在。我刚做了这个格式,砰,它变成了表达式结果的“文本”值。例如:17:18:19将变为0.721053241(文本)@HarryNinh然后将您的列格式从数字更改为文本,如此处所述,请遵循此链接@Naveen Yea我在此处发布之前尝试过该链接。它只适用于数字,不适用于表达(17:18):(太好了!谢谢!