Два набора данных, не может быть более корявым

Во-первых, среди множества столбцов есть один с ключевыми словами, разделенными запятыми, иначе:

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

И таблица "размышлений" с числовыми значениями для всех ключевых слов.

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

И в результате я хотел бы, чтобы у вас была таблица с "СУММ" этих характеристик, иначе:

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

Какой будет подход? желательно без макросов

0
JamesRib 2 Окт 2020 в 09:56

2 ответа

Лучший ответ

Еще один более короткий вариант формулы,

В K2 формула скопирована прямо в L2 и все скопировано вниз:

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

enter image description here

0
bosco_yip 2 Окт 2020 в 12:57

Здесь FILTERXML может быть очень полезным, например:

enter image description here

Формула в K2:

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

Перетащите один вправо и дальше вниз.

Примечание1 : в версиях, отличных от ExcelO365, это нужно было бы ввести в массив, однако в любом таком случае просто замените SUM на SUMPRODUCT.

Примечание 2 : FILTERXML доступен начиная с Excel 2013.

1
JvdV 2 Окт 2020 в 07:30