将列中的某些单元格从日期格式转换为文本

时间:2014-01-18 14:02:30

标签: 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

...

我需要找到一种方法,以编程方式将包含日期值的每个单元格(如第9行和第11行)更改为文本值,相当于数字月份,后跟数字日后的短划线。我有24,000行。进行查找和替换是不切实际的。我无法更改整个列的格式,因为像1和4这样的行会被转换,我不希望这些行被转换。

3 个答案:

答案 0 :(得分:1)

创建一个新列B并使用函数

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

答案 1 :(得分:0)

好的,我通过将三个“if”测试(类似于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

答案 2 :(得分:0)

鉴于OP中的数据似乎是在ColumnA中从Row1开始的单个公式,例如:

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

并且复制下来似乎已经足够了。