Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel-如何获取表达式文本而不是值_Excel - Fatal编程技术网

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将列中的这些值识别为其他数据类型(数字、时间…),而替换项对这些类型无效 如何解决此问题 多谢各位

我对一大组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):(太好了!谢谢!