Google电子表格:如果单元格包含预定义值列表之一

时间:2015-04-15 11:30:03

标签: google-sheets

我的电子表格中有一个列,其中包含带有文字字符串的单元格,如:

  • Lorem ipsum blah blah category1
  • Lorem ipsum blah blah category2

我希望第二列保存取决于字符串是否包含 category1 category2 等的值。我可以使用以下内容执行此操作:

=arrayformula(if(H32:H="","",(iferror(if(search("category1",H32:H),"The First Category"),iferror(if(search("category2",H32:H),"The Second Category"))))))

然而,类别列表本身是动态的,因此我不想将它们硬编码到公式中,而是希望从电子表格的其他地方检索它们,即:

| Category1 | "The First Category"  |
| Category2 | "The Second Category" | // I want to be able to add to this list and have the formula retrieve the values.

有谁知道我怎么能这样做?

编辑:请参见样本表here。如您所见,A2中的arrayforumula查看E2-E4中的前3个键值,并获取相应的替换值。但是,我希望能够添加到键/替换列表中,而无需每次都手动更改A2中的公式。

1 个答案:

答案 0 :(得分:0)

这对我有用:

=VLOOKUP(REGEXEXTRACT(C2,JOIN("|",INDIRECT("E2:E"&COUNTA(E:E)))),E:F,2,FALSE)

所以为了解释一下,你看到的连接函数和间接的部分基本上是一个动态正则表达式,当你向源列表中添加新的类别类型时,它会自动扩展(使用counta函数)

所以Vlookup用于提取与动态正则表达式匹配的值,并返回相应的索引“2”