“= Search()”函数提供不一致的结果

时间:2017-03-23 15:50:02

标签: excel vba

我有这个公式:

=IF(ISERR(SEARCH(" ?/?/????",C7)=11)=FALSE,"0"&MID(C7,12,2)&"0"&MID(C7,14,6),
IF(ISERR(SEARCH(" ?/??/????",D7)=11)=FALSE,"0"&MID(D7,12,9),
IF(ISERR(SEARCH(" ??/?/????",D7)=11)=FALSE,MID(D7,12,3)&"0"&MID(D7,15,6),
IF(ISERR(SEARCH(" ??/??/????",D7)=11)=FALSE,MID(D7,12,9),1))))

在这个单元格上:     完成时间:2017/2/22状态:已完成

它返回02/22/2017这是正确的

在此单元格上,从另一个程序复制,     完成时间:2017/2/22状态:已完成 它返回1.

我看不出两条线有什么不同,但显然公式看到了差异。假设文本在单元格A1和A2中。如果在单元格A3中我做A1 = A2我得到假。我看不出差异。我甚至做了=修剪(干净(两个细胞上都有,但没有快乐

1 个答案:

答案 0 :(得分:0)

使用以下公式会更简单:

=MID(A1,SEARCH(" ",A1,1) + 1,SEARCH(" ",A1,SEARCH(" ",A1,1))-2)

MID函数获取第一个和第二个空格之间的文本,在您的情况下是日期数据。 SEARCH函数查找空格,在第一种情况下它是第一个空格。在第二种情况下,它是第一个空间之后的第一个空间;在现实世界中,这是第二个空间!