Excel公式将字符与另一个单元格的最后2或3个字符进行匹配?

时间:2016-10-23 14:01:13

标签: excel-formula

假设我在A列中有一组看起来像这样的值:

A-1-167

AB-21-16

A-1-BB-17

B-1-89

常见的事情是,在最后一次冲刺之后,可能会有两到三个数字。

在B栏中,我将获得有关A中左侧每个单元格的信息。

在另一张表中,我有两列:A将包含两个或三个数字;对于B,我需要一个公式,例如:

如果A的值为89,我希望B-1-89的信息位于其他工作表的B列。这意味着,我需要一种方法来识别第1页A列中最后一个破折号后的数字。

非常感谢任何帮助!

3 个答案:

答案 0 :(得分:2)

C1 中输入:

=--MID(A1,FIND(CHAR(1),SUBSTITUTE(A1,"-",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1,255)

并复制下来。列 C 提取最后一个短划线后的短语。:

enter image description here

现在我们可以使用 MATCH() INDEX()。将查找值放入,例如 D1 ,然后放入 E1

=INDEX(B1:B4,MATCH(D1,C1:C4,0))

enter image description here

答案 1 :(得分:2)

如果它总是2位或3位数,您可以检查最后3个字符是否以-开头并相应地采取行动:

B1中的关键公式(或您想要的任何列)是:

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

TRIM是为了防止无意中落后的空白区域,这可能会使计数失效)

输出(复制后):

enter image description here

答案 2 :(得分:2)

在一个简单的公式中:

VLOOKUP将允许使用Wild Cards:

=VLOOKUP("*-" & D1,A:B,2,FALSE)

"*-"将外卡和-添加到D1中的内容。所以它只会查看最后一个分组。

enter image description here