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,给定这样一列: Column A 1 4 2 Blank 3 Blank 4 3 5 blank 6 2NDF 7 Blank 8 blank 9 1/2/2014 <-- Date value I need to change to a text value: "1-2" 10 blank 11 5/1/2014 <-- Date value I need to change to a text value: "5-1" 12 blank ... A列 1 4 2空白 3空

给定这样一列:

  Column A
1 4
2 Blank
3 Blank
4 3
5 blank
6 2NDF
7 Blank
8 blank
9 1/2/2014 <-- Date value I need to change to a text value: "1-2"
10 blank
11 5/1/2014 <-- Date value I need to change to a text value: "5-1"
12 blank

...
A列
1 4
2空白
3空白
4 3
5空白
6 2NDF
7空白
8空白

9 2014年1月2日创建一个新的列B并使用该功能

=IF(NOT(ISERROR(DATEVALUE(A1))),MONTH(DATEVALUE(A1))&"-"&DAY(DATEVALUE(A1)),A1)

好的,我通过将三个“如果”测试(类似于Brett所建议的)拆分为三个额外的列来实现我想要的结果。每一列都有其单独的“if”测试,并构建在前面的列上。以下是if测试:

=IF(N5>40000,MONTH(N5)&"-"&DAY(N5),N5) # sets format I want and skip cells that are low integers and not dates
=IF(O5=0,"",O5) # Sets cells with "0" in them to blank
=IF(ISERROR(P5),N5,P5) # fixes cells that were originally text and that produced errors

鉴于OP中的数据似乎位于第1行开始的a列中,一个公式如下:

=IF(OR(A1<40000,ISTEXT(A1)),A1,MONTH(A1)&"-"&DAY(A1))  

=IF(或(A1听起来像是XY问题。您是否在excel中导入了一个文件,并且这些值自动转换了?我正在打开的是其他人的.xlsx电子表格。他们似乎为此列选择了错误的数据类型。它应该是文本。我无法更改原始文件。问题是日期也是数字(正如您所注意到的41763)列中还有其他数字。41763确实是1900年1月1日之后的天数(尽管该日期系统中存在一天异常)。因此,如果你有
4
,它可能也会变成1900年1月4日,如果你试图在整个专栏中做些什么,它会给你
4-1
。试试
文本(A1,“m-d”)
取而代之的是:pBrett,close。但是当我在字段中有一个日期时,它会返回一个值,比如41763,我假设是1901年以后的天。不确定交易是什么。它似乎在评估“false”值a1。当我用“blah”替换false值时,它会返回“blah”。