在单元格中的多个值上的Vlookup

问题描述

我希望能够返回B列中所示的[cat,dog]。这更多是一个POC,但是对于我面临的主要挑战,A1单元中的值数量未知。我不确定是否可以通过vlookup做到这一点,或者是否有更好的方法来做到这一点。

enter image description here

解决方法

猜测可能有不止一种犬种(dog,dog2,...),应将所有犬种退回:

= "["
& JOIN(
    ",",QUERY(
      A3:B11,"SELECT B
       WHERE A MATCHES '^(?:" & JOIN("|",UNIQUE(SPLIT(A1,"[,]"))) & ")$'
       ORDER BY B",0
    )
  )
& "]"

我们只是使用QUERY过滤掉与MATCHES不匹配正则表达式^feline|canine|...$和正则表达式|的所有内容,并用逗号将其联接。

正则表达式是在其中构造的(只是由'^(?:" & JOIN("|",]"))) & ")$' 连接的唯一单词):

 If App.PrevInstance = True Then
     MsgBox "Already running...."
     Unload Me
     Exit Sub
 End If

enter image description here

,

使用:

=ARRAYFORMULA("["&TEXTJOIN(",1,IFERROR(VLOOKUP(FLATTEN(SPLIT(A1,]",0)),A3:B,2,0)))&"]")

enter image description here