find一个string中的一个单元格,然后填充另一个单元格

我有一个基本的财务电子表格,我正在努力做得更好。 我有一个如下所示的表格:

| 说明| 类别| 量

| 2341234小鸡fil-a | 外出就餐| 5.89

| 11234 Redbox /乔治敦| 娱乐| 1.21

另一个表格如下所示:

| 名称| 类别|

| 小鸡fil-a | 外出就餐|

| Redbox | 娱乐|

我想从第一个表的第一列中的第二个表的第一列findstring,并自动填充第一个表的第二列。 我很确定我可以通过执行{= find(2ndSheet!A:A,1stSheetA:A)}或类似的东西来findstring的位置,但我不知道如何填充另一个单元格。

它是否必须是一个macros?

这有点丑,但似乎工作。 它处理的情况下,您的描述可能不一定匹配查找表(例如,与Redbox | Redbox /乔治敦)。 将[Lookup_Table]replace为查找表的绝对范围,然后input为数组公式( Control+Shift+Enter ):

 =INDEX([Lookup_Table],MATCH(TRUE,NOT(ISERR((FIND([Lookup_Table],A2)))),0),2) 

至于它在做什么:

 =INDEX( [Lookup_Table], MATCH( TRUE, NOT(ISERR((FIND([Lookup_Table],A2)))), 0), 2) 

它使用以[Lookup_Table]作为基本范围的INDEX公式。 对于要匹配的行,它会查找使用当前单元格运行FIND公式不会导致错误的实例。 所以在Redbox的情况下,你会得到一个像{#VALUE!, 7}这样的数组。 然后根据它们是否为错误将值设置为TRUE/FALSE ,然后翻转它们以使非错误为True 。 然后,您匹配该数组的TRUE条件,一个命中将返回查找表中的行号。 然后使用该行号和第2列find相应的值。

再次,这不是一个漂亮的一个(也许有更好的方法来处理你的所有情况),但它似乎工作在三行的极其详尽的testing:)

在这里输入图像说明

假设你的第一个表是从列A开始的,那么用B2开始的这个公式应该为你find值。

 =VLOOKUP(RIGHT(A2,LEN(A2)-FIND(" ",A2,1)),[Range of Helper Table],2,FALSE) 

您需要用实际范围替代[Range of Helper Table] 。 确保使用$使用绝对引用,例如: 2ndSheet!A$2:B$20 。 这样你可以复制和粘贴。