XLOOKUP 并返回括号之间的数字

XLOOKUP 并返回括号之间的数字

我有两张表。表 A 包含销售数量,表 B 包含客户满意度分数。两者都包含名称和 ID,但在表 B 中,名称和 ID 是连接的(用破折号分隔),并且还会从 ID 左侧删除零(它已经以这种格式来自数据库)。

例如:工作表 A 中的单元格 A1:00990252310 工作表 B 中的单元格 A1:990252310 - John Doe

我需要匹配人们的 ID 并从工作表 A 中返回销售编号,并从工作表 B 中返回分数(括号内)。(销售,我稍后会做。我需要先算出分数)

分数值示例(我需要提取“7”):工作表 B 中的单元格 D1 :10 [7]

我在下面整理了这个公式,但它不起作用。我只能认为错误可能在于将 LEN 用于数组,但由于它在 XLOOKUP 内部,我认为它应该可以正常工作。

=XLOOKUP(B2,TEXT(LEFT(sheet B!A:A,SUM(LEN(sheet B!A:A)-LEN(SUBSTITUTE(sheet B!A:A,{"0","1","2","3","4","5","6","7","8","9"},"")))),"00000000000"),MID(sheet B!B:B,FIND("[",sheet B!B:B)+1,FIND("]",sheet B!B:B)-FIND("[",sheet B!B:B)-1))

我解决不了这个问题。大家帮帮我吧。=(

截图:

在此处输入图片描述

在此处输入图片描述

答案1

您可以尝试以下变体:

=INT(XLOOKUP(INT(B2),INT(LEFT(I2,FIND(" -",I2,1)-1)),SUBSTITUTE(MID(J2,FIND("[",J2,1)+1,LEN(J2)),"]","")))

在此处输入图片描述

这里有用的东西是INT将数字的文本表示转换为数字。假设以前导零书写的数字存储为文本,如果将其包装在 INT 中,它会删除前导零,这对查找很有用。

然后我们将使用XLOOKUP

  1. 删除主页上 ID 的前导零
  2. -在 SALESPERSON 列中(空格、破折号)左侧的所有内容所代表的值的列中查找该值。
  3. [返回SCORE 列中找到的文本
  4. 去除]
  5. 使用以下方法将结果转换为数字INT

相关内容