给出如下列:
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这样的行会被转换,我不希望这些行被转换。
答案 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))
并且复制下来似乎已经足够了。