根据包含字符串的单元格分配类别

时间:2013-12-30 22:50:32

标签: excel spreadsheet libreoffice

我想填写此示例的类别单元格

Date        Description    Debit    Category

15/07/2011  Farmer Smith    10      

基于包含这样的映射值的其他工作表:

Farmer  | Groceries

我想我必须使用VLOOKUP但它似乎并没有在“描述”单元格中“搜索”术语(农民),如果它包含第一个值并且如果它包含第一个值,我怎么告诉我的VLOOKUP搜索单元格映射表并返回第二列(杂货)。

谢谢

1 个答案:

答案 0 :(得分:2)

关于OpenOffice Calc:AFAIK,您无法修改 VLOOKUP 的行为,因此它使用CONTAINS检查来确定匹配的行。但是如果相关单词是Description列中的第一个单词,则可以“准备”lookupvalue(VLOOKUP函数的第一个参数),因此它只使用第一个单词来查找。解决方案可能如下所示:

=VLOOKUP(LEFT(B2, FIND(" ", B2)-1), $Sheet2.$A$2:$B$4, 2, 0)

(假设`Sheet2.A2:B4包含查找数组)。拆分多行:

=VLOOKUP(
    LEFT(
        B2,
        FIND(
            " ",
            B2
        ) -1),
    $Sheet2.$A$2:$B$4,
    2,
    0
)

Description列的第一个单词是使用LEFTFIND确定的。

因此,使用以下类别表:

categories

您将获得以下结果:

result