У меня есть таблица с именами и соответствующими номерами. Я хочу вернуть числа, соответствующие ОДНОМУ имени. Для этого мне нужно искать только часть имени (строки), указанного в строке A (см. Изображение ниже), потому что некоторые записи строки имеют только одно имя, а другие - два имени.

Таблица с названием и номерами

Так, например, я хотел бы вернуть все числа, которые соответствуют «Уильяму». Я ожидал получить числа 1 и 3.

В Google Таблицах я попытался использовать следующую функцию ФИЛЬТРА:

=filter(B2:B7, A2:A7="*"&"William"&"*")    

Это не сработало. Похоже, мне не нравится, что я использую подстановочные знаки во втором параметре.

Есть ли у кого-нибудь решение этой проблемы?

Ответы (1)

There isn't a single function which will return a concatenated list of values from an array. But there is a long-winded workaround involving the SEARCH() and CONCATENATE() functions.

Please see example Google sheet

My answer to your specific question is in cell G9 which has the formula =concatenate(G2:G7) and

G2=if(iserr(search("william",A2)),"",B2 & " ")
G3=if(iserr(search("william",A3)),"",B3 & " ")
G4=if(iserr(search("william",A4)),"",B4 & " ")
G5=if(iserr(search("william",A5)),"",B5 & " ")
G6=if(iserr(search("william",A6)),"",B6 & " ")
G7=if(iserr(search("william",A7)),"",B7 & " ")

In the example worksheet I have made it a little more generic using $ syntax so as to allow me to copy the formula in D2 across to fill the range D2:G7 without needing further alteration.

Incidentally, in these situations one often needs to sum up the values, and luckily there is the SUMIF() function for that. See cell G10 for an example =sumif(A2:A7,"*William*",B2:B7) of how to use it.

2022 WebDevInsider