Excel – 如果公式与查找

我有一个excel文件,我必须定期处理,而等待我的公司build立一个自动化的过程,我们最近发现的问题是,我正在使用strip的公式不能返回除#VALUE以外的结果! 当FIND公式无法find我需要的文本。

我们现在的公式是:

=IF(FIND("-",M2,3),RIGHT(M2,2)) 

这个公式检查的单元格具有状态,其中的省份看起来像“CA-ON”或“US-NV”。 问题是,英国的地区不填写为“UK-XX”input实际的县例如“Essex”或“Merryside”

我需要的公式是,如果它不能在单元格中find连字符( – ),那么就应该取任何值,并将其写入公式所在的单元格中。

我还应该提到一些单元格也是空白的,因为这是一个可选字段。 是否有运行这个公式,如果它没有find“ – ”它只是写什么呢?

那么使用mid()来查看第三个字符是否是“ – ”

 =IF(MID(A1,3,1)="-",RIGHT(A1,2),A1) 

在这里输入图像说明

如果你真的想使用find()函数,那么:

 =IF(ISNUMBER(FIND("-",A1)),RIGHT(A1,2),A1) 

在这里输入图像说明

IFERROR函数应该在这里帮助。 而且没有理由再使用if语句。 下面的公式会find连字符,如果它在前3个字符中,findstring的长度减去连字符的位置并返回该string。 IFERROR将捕获没有连字符的实例并返回原始单元格。

 =IFERROR(RIGHT(M2,LEN(M2)-FIND("-",LEFT(M2,3),1)),M2)