Я использую Excel для поиска и возврата нескольких значений ссылки для данного ключа. VLookup делает что-то очень похожее на то, что мне нужно, но возвращает только одно совпадение.
Я предполагаю, что это будет включать в себя методы возврата и обработки массива, хотя раньше я с ними не сталкивался. Некоторое Гугление начинает опираться на if ([lookuparray] = [value], row [lookuparray]) как часть решения - хотя я не могу заставить его вернуть одно совпадение ...
Например, если у меня есть эти справочные данные:
Adam Red
Adam Green
Adam Blue
Bob Red
Bob Yellow
Bob Green
Carl Red
Я пытаюсь получить несколько возвращаемых значений справа. (Через запятую, если возможно)
Red Adam, Bob, Carl
Green Adam, Bob
Blue Adam
Yellow Bob
(У меня уже есть значение ключа слева - нет необходимости извлекать эти значения)
Любая помощь в том, как подходить к обработке нескольких значений в этом контексте, приветствуется. Благодарю.
источник
=SUM(IF($B$2:$B$8="Key", $C$2:$C$8, 0))
Поменяйте местами столбцы, чтобы цвета находились в столбце A, а имена - в столбце B, а затем сортируйте по цвету.
Формула в C2 (скопируйте ее в столбец): = IF (A2 <> A1, B2, C1 & "," & B2)
Формула в D2 (скопируйте ее в столбец): = A2 <> A3
Выберите «ИСТИНА» в столбце D, чтобы получить желаемые результаты. См. ниже:
источник
Если вы хотите использовать формульный подход, тогда гораздо проще получить результаты в отдельных ячейках, поэтому давайте предположим, что ваша первая таблица - A2: B8, а цвета снова перечислены в D2: D5. Попробуйте эту формулу в E2
=IFERROR(INDEX($A$2:$A$8,SMALL(IF($B$2:$B$8=$D2,ROW($B$2:$B$8)-ROW($B$2)+1),COLUMNS($E2:E2))),"")
подтверждено
CTRL+SHIFT+ENTER
и скопировано поперек и вниз. Когда матчи заканчиваются, вы получаете пробелы.Формула предполагает Excel 2007 или более поздней версии - если более ранняя версия, вы можете использовать COUNTIF вместо IFERROR, т.е.
=IF(COLUMNS($E2:E2)>COUNTIF($B$2:$B$8,$D2),"",INDEX($A$2:$A$8,SMALL(IF($B$2:$B$8=$D2,ROW($B$2:$B$8)-ROW($B$2)+1),COLUMNS($E2:E2))))
источник
Вот решение VBA для вас. Во-первых, вот как выглядят результаты:
И вот код:
источник