根据 vlookup 中的数值评估列表(逗号分隔)

Evaluate a list (coma separated) based on numeric values form a vlookup

两个数据集,再复杂不过了

首先,在很多栏目中有一个用逗号分隔的关键字,又名:

Id ---- PLAYER -- KEYWORDS
 1 ---- Jonh ---- futball, waterpolo , tennis
 2 ---- Anna ---- soccer, swiming, running
 3 ---- Marc ---- runnign, waterpolo 
 4 ---- Peter --- running

和一个“思考”table所有关键词的数值

SPORT-- USE_BALL -- IN_WATER
futball --- 1 --------- 0
waterpolo - 1 --------- 1
tennis ---- 1 --------- 0
swiming --- 0 --------- 1
running --- 0 --------- 0

因此,我希望你有一个 table,具有这个特征的“SUM”,又名:

Id ---- PLAYER -- PLAY_WITH_BALL --- PLAY_IN_WATER ---- KEYWORDS
 1 ---- Jonh ----------- 3 ---------------- 1 --------- futball, waterpolo , tennis
 2 ---- Anna ----------- 1 ---------------- 1 --------- soccer, swiming, running
 3 ---- Marc ----------- 1 ---------------- 1 --------- runnign, waterpolo 
 4 ---- Peter ---------- 0 ---------------- 0 --------- running

方法是什么? 没有宏更好

FILTERXML 在这里很有用,例如:

K2中的公式:

=SUM(SUMIFS(F:F,$E:$E,FILTERXML("<t><s>"&SUBSTITUTE($M2,", ","</s><s>")&"</s></t>","//s")))

向右再向下拖动一个。

注意 1:在 ExcelO365 以外的版本中,这需要输入数组,但是在任何这种情况下,只需将 SUM 换成 SUMPRODUCT.

注 2FILTERXML 从 Excel 2013 年起可用。

另一个较短的公式选项,

K2 中,公式复制到 L2 并全部复制下来:

=SUMPRODUCT(ISNUMBER(SEARCH($E:$E,$M2))*F:F)