0

我有一个基本的财务电子表格,我正试图让它变得更好。我有一个看起来像这样的表:

| 说明 | 类别 | 数量

| 2341234 福来鸡 | 外出就餐 | 5.89

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

另一个看起来像这样的表:

| 姓名 | 类别 |

| 福来鸡 | 外出就餐 |

| 红盒 | 娱乐 |

我想在第一个表的第一列中从第二个表的第一列中找到字符串,并自动填充第一个表的第二列。我很确定我可以通过执行 {=find(2ndSheet!A:A,1stSheetA:A)} 或类似的操作来找到字符串的位置,但我不知道如何基于此填充另一个单元格.

必须是宏吗?

4

2 回答 2

2

这有点难看,但似乎有效。它处理您的描述可能不一定与查找表匹配的情况(例如,使用 Redbox | Redbox/Georgetown)。将 替换为[Lookup_Table]查找表的绝对范围,并作为数组公式 ( 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)

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

同样,这不是一个漂亮的(可能有更好的方法来处理你所有的情况),但它似乎在我对三行的极其详尽的测试中起作用:)

在此处输入图像描述

于 2012-08-18T15:11:27.470 回答
0

假设您的第一个表是从 column 开始的A,那么将这个公式替换为从 in 开始B2应该会为您找到值。

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

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

于 2012-08-18T15:07:10.473 回答