Vlookup查找带有较大字符串的子字符串的出现

时间:2016-02-20 04:07:30

标签: excel excel-formula vlookup

在第1栏我有:

London, United KingdomRetail
ItalyConsumer Goods
London, United KingdomManagement Consulting
United KingdomManagement Consulting
Warsaw, Masovian District, PolandLogistics and Supply Chain
PolandInternet
Cologne Area, GermanyWholesale
London, United KingdomFood & Beverages

和第2栏:

Netherlands
Switzerland
Turkey
Estonia
Greece
United Kingdom
Spain
Belgium
Slovak Republic area
Poland
Hungary 
Italy
Germany

我的问题是:如果第2列中的某个国家/地区出现在第1列的任何位置,我希望将其显示在第3列中。第1列中只能显示一个国家/地区。

非常感谢任何帮助!

3 个答案:

答案 0 :(得分:1)

对于给定的范围,我建议这样的事情:(在C1中并复制下来)

=IF(OR(ISNUMBER(SEARCH($B$1:$B$13,A1))),INDEX($B$1:$B$13,MIN(IF(ISNUMBER(SEARCH($B$1:$B$13,A1)),ROW($B$1:$B$13)))),"")
  

这是一个数组公式,需要用 CTRL + SHIFT + ENTER 确认。

答案 1 :(得分:0)

  1. 删除逗号后的所有空格。
  2. 使用text to columns将第一列拆分为多列,然后执行以下操作:

    = VLOOKUP(A1,C:E,1,FALSE)

  3. 你应该最终得到这个(这个#N / As是带有vLookup的列):

    Netherlands          | #N/A | London                              | United KingdomRetail                |
    Switzerland          | #N/A | ItalyConsumer Goods                 |                                     |
    Turkey               | #N/A | London                              | United KingdomManagement Consulting |
    Estonia              | #N/A | United KingdomManagement Consulting |                                     |
    Greece               | #N/A | Warsaw                              | Masovian District                   | PolandLogistics and Supply Chain
    United Kingdom       | #N/A | PolandInternet                      |                                     |
    Spain                | #N/A | Cologne Area                        | GermanyWholesale                    |
    Belgium              | #N/A | London                              | United KingdomFood & Beverages      |
    Slovak Republic area | #N/A |                                     |                                     |
    Poland               | #N/A |                                     |                                     |
    Hungary              | #N/A |                                     |                                     |
    Italy                | #N/A |                                     |                                     |
    Germany              | #N/A |                                     |                                     |
    

    enter image description here

答案 2 :(得分:0)

Column 3

中使用此公式
=IF(COUNTIF($A$1:$A$13,"*"&B1&"*")=1,B1,"")

如果你想要一个没有空白单元格的列表,那么使用这个数组公式:

=IFERROR(INDEX($B$1:$B$13,SMALL(IF(COUNTIF($A$1:$A$13,"*"&$B$1:$B$13&"*")=1,ROW($B$1:$B$13)),ROWS($A$1:$A1))),"")

由于它是一个数组公式,按 CTRL + SHIFT + ENTER 来评估公式。

enter image description here