Я не совсем уверен, является ли это самым простым способом, но если он уверен, что родители сгруппированы в Рабочем листе A (так, как будто вы написали, а не как например.
John Scott
Victoria Jason
John Lucas
), вы можете рассмотреть возможность использования этого решения (я предполагаю, что данные вашего рабочего листа A начинаются с "Джон" в ячейке A2, WA обозначает рабочий лист A, а WB обозначает рабочий лист B):
Прежде всего, добавьте еще один столбец, который называется смещение в WA. Поскольку "Возраст" - это столбец C , я поместил его в столбец D Формула имеет вид =Row(A2)-Row($A$2) и распространяется вниз. Вы должны получить 0 , 1 , 2 ... Это смещения каждой строки по отношению к первой.
Мы будем использовать это значение для нашего смещения с помощью функции VLOOKUP . Допустим, в WB вы вводите имя своего родителя в ячейку A1 , в B1 мы получим имя (имена) ребенка. Итак, во вспомогательном столбце, скажем C , мы помещаем формулу
=VLOOKUP(A1; WA!$A$2:$D$xxx; 4; FALSE)
параметры означают:
A1 - это значение ячейки, которое вы ищете - имя родителя
WA!$A$2:$D$xxx обозначает диапазон, в котором вы ищете (замените xxx на количество строк, которое вы получите)
4 означает, что мы хотим получить значение 4-го столбца, то есть WA!D в этом случае, и это наше смещение
FALSE означает, что мы хотим выполнить точный поиск как WA!A
Полученное вами значение - это значение, с которого должен начинаться ваш диапазон. Теперь нам нужно найти его окончание, это значит, сколько там строк. Самым простым способом может быть добавление еще одного столбца в WA, например, E , где мы помещаем простую формулу, подсчитывающую, сколько детей имеет родительский элемент:
=COUNTIF($A$2:$A$xxx; A2)
В вашем примере вы получите 3 , 3 , 3 , 2 , 2 , 2 , 2 .
Вы должны скопировать это значение в WB, столбец D , используя снова:
=VLOOKUP(A1; WA!$A$2:$E$xxx; 5; FALSE)
Теперь в WB мы имеем в столбце A имя родителя, в столбце B мы вставляем дочерний элемент, в столбце C смещение первого дочернего элемента родителя, а в столбце D количество дочерних элементов, которое имеет родительский элемент.
Теперь перейдите к менеджеру имен и добавьте новое имя Kids охватывающее ассортимент:
=OFFSET(WA!$B$2:$B$xxx; WB!D1; 0; WB!E1)
где параметры означают:
WA$B$2:$B$xxx - это диапазон, содержащий дочерние имена,
WB!D1 (примечание: это относительно!) это смещение, поэтому, где дочерний список начинается в ранее упомянутом диапазоне в WA,
0 означает, что мы не хотим делать смещение в столбцах,
WB!E1 говорит, сколько строк мы хотим получить (т.е. сколько детей).
Имея это имя для Kids , вы добавляете сейчас в WB!B1 Проверка данных, установите список и источник =Kids . Теперь распространяйте это вниз.
Это все.
Если ваши данные в WA не содержат сгруппированных родителей, вы можете получить их, отсортировав их.