在单元格中从右到左搜索,但在第一次搜索时停止

在单元格中从右到左搜索,但在第一次搜索时停止

我的 A 列为“客户姓名-帐号(序列号)”。因此,示例如下:

ABC-12345 (1s39-a29a-23sh-akjf).  

我想要获取的只是客户名称“ABC”。

序列号是一个常量字符列表,因此我使用了:

=LEFT(A14, LEN(A14)-39) 

这将返回“ABC-12345”。但客户编号 (12345) 的字符长度略有不同。

因此我使用了这个公式:

=LEFT(A14,FIND("-",A14)-1)

将破折号“-”左边的所有内容都给我。

但是,有些公司名称可能包含“-”。因此,我得到的不是“J-Systems-12345”,而是“J”。

有没有办法从右到左查找,但停止查找找到的第一个“-”,并返回该“-”左边的所有内容?

答案1

由于您的序列号长度是固定的,我们可以使用此公式,它将找到-序列号之前的最后一个,并使用它来限制 LEFT() 函数:

 =LEFT(A1,FIND("}}}",SUBSTITUTE(A1,"-","}}}",LEN(LEFT(A1,LEN(A1)-22))-LEN(SUBSTITUTE(LEFT(A1,LEN(A1)-22),"-",""))))-1)

我必须将其更改-39为,-22因为所提供的序列号数据只有 22 个字符。您可能需要将其恢复-39为您的真实数据。

在此处输入图片描述

相关内容