我有一个基本的财务电子表格,我试图做得更好。我有一张看起来像这样的表:
|说明|类别|量
| 2341234 Chick-fil-a |外出就餐| 5.89
| 11234 Redbox / Georgetown |娱乐| 1.21
另一张看起来像这样的表:
|名称|类别|
| Chick-fil-a |外出就餐|
| Redbox |娱乐|
我想在第一个表的第一列中找到第二个表的第一列中的字符串,并自动填充第一个表的第二列。我很确定我可以通过执行{= find(2ndSheet!A:A,1stSheetA:A)}或类似的东西来找到字符串的位置,但我不知道如何基于此填充另一个单元格
它必须是一个宏吗?
答案 0 :(得分: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列查找相应的值。
同样,这不是一个漂亮的(并且可能有更好的方法来处理所有情况),但它似乎适用于我对三行的极其详尽的测试:)
答案 1 :(得分:0)
假设您的第一个表格是从A
列开始,则从B2
开始替换此公式应为您找到该值。
=VLOOKUP(RIGHT(A2,LEN(A2)-FIND(" ",A2,1)),[Range of Helper Table],2,FALSE)
您需要将[Range of Helper Table]
替换为实际范围。确保使用$使用绝对引用,例如:2ndSheet!A$2:B$20
。这样你就可以复制和粘贴了。