删除分号左右两侧的所有内容

删除分号左右两侧的所有内容

我有这两个单元格:

35hz 24.5/jy;8243-9884;100093 and 
aslhz/45.77;94-224444;103944234

我试图隔离分号之间的数字。我使用了以下函数:

=RIGHT(A1, FIND(";",A1)-1)

但它删除的不仅仅是分号旁边的内容。这个公式有什么问题吗?

答案1

数据在A1, 在B1进入:

=TRIM(MID(SUBSTITUTE($A1,";",REPT(" ",999)),2*999-998,999))

在此处输入图片描述

编辑#1:

使2变成1得到一切首先.
使2变成3得到一切第二

答案2

RIGHT(CELL,LEN)从右边开始给你 LEN 个字符,而 FIND 返回第一个分号。

你需要这样的东西:

A1 35hz 24.5/jy;8243-9884;100093
B1 =FIND(";",A1)
C1 =RIGHT(A1,LEN(A1)-B1)
D1 =FIND(";",C1)
E1=LEFT(C1,D1-1)

一旦您了解了它的工作原理,您就可以将公式合并到单个单元格中。

8243-9884您应该看到E1 中的值。

答案3

使用 Excel 快速填充(2013 及更高版本):在连续列中的文本中,输入第一个所需结果,然后开始输入第二个所需结果,并查看快速填充建议的结果。

看,妈妈,没有公式!

在此处输入图片描述

编辑:

Flash Fill 还可以让您纠正它检测到的逻辑缺陷。在下面的屏幕截图中,第 6 行和第 7 行最初取 C 列的最后一个单词。将第 6 行更正为倒数第二个单词后,第 7 行会自动调整以适应新规则,并显示“is”而不是“good”。

在此处输入图片描述

答案4

你可以这样做来获得中间数字。

=MID(A1,(FIND(";",A1)+1),(FIND(";",A1,(FIND(";",A1)+1))-(FIND(";",A1)+1)))

MID 为您提供从给定字符开始且具有指定长度的字符串。我们使用 FIND 找到第一个“;”并将其用作开头。

现在我们需要长度,为此我们还必须找到第二个“;”,我们再次使用 FIND 进行查找,但从第一个“;”之后的位置开始。这部分给出了第二个“;”的位置:

FIND(";",A1,(FIND(";",A1)+1))

从中,我们减去第一个“;”的位置以获得长度,并将上述公式中的所有内容合并。请注意,如果您的单元格没有至少 2 个分号,则公式将返回错误。

如果你需要最后的数字,你需要第二个“;”,因此你可以使用:

=RIGHT(A1,LEN(A1)-FIND(";",A1,(FIND(";",A1)+1)))

为了获得第一的数字是最简单的:

=LEFT(A1,FIND(";",A1)-1)

相关内容