У меня есть таблица, содержащая некоторые футбольные данные, такие как информация о стране, лиге, командах, таблицах, таких как общее количество сыгранных матчей, победы, ничьи, поражения, забитые и пропущенные голы и так далее. Вот ссылка на скачивание файла
Он содержит два листа. Первый лист STANDINGS_EXTENDED:
Мне нужно заполнить эти 3 таблицы данными, содержащимися в другом листе STANDINGS.
Вот скриншот листа STANDINGS:
Моя цель состоит в том, что после того, как я заполню поля LeagueId и Group Id (что является необязательным), во всех трех таблицах будут созданы данные, как в этом примере.
Интересно, можно ли добиться этого без VBA. Но я понятия не имею, с чего начать. Я пробовал несколько разных способов, но я получаю только первый результат из рабочего листа STANDINGS для любой лиги, в которую я вхожу.
С нетерпением жду вашей помощи.
Спасибо!
ОБНОВЛЯТЬ: До сих пор я мог получить количество строк, связанных с общим, дома и на выезде, используя эти формулы:
=COUNTIFS(STANDINGS!E:E;STANDINGS_EXTENDED!E1;STANDINGS!F:F;"StandingsOverall")
=COUNTIFS(STANDINGS!E:E;STANDINGS_EXTENDED!$E$1;STANDINGS!F:F;"StandingsHome")
=COUNTIFS(STANDINGS!E:E;STANDINGS_EXTENDED!$E$1;STANDINGS!F:F;"StandingsAway")
Кроме того, я могу получить первую строку этих результатов, используя эту формулу:
=VLOOKUP($E$1;STANDINGS!$E:$V;4;FALSE)
Мне нужно выяснить, как изменить приведенные выше формулы, чтобы я заполнил таблицы оставшимися строками.
Для этого вам нужна формула в каждом поле ваших 3 таблиц, которая связывает ее с данными на вкладке «Позиции». Это будет 13 x 3 x 20 формул. Поэтому можно попытаться создать формулы, которые можно скопировать, в лучшем случае не более 13 исходных, но обязательно по одной формуле для каждого поля.
Каждая формула будет искать уникальный идентификатор в списке позиций. Я не вижу там никаких уникальных идентификаторов, но вы можете создать их путем объединения, например «Лига» + «Страна» + «Позиция». Чем больше деталей вам нужно, тем больше формула. Суть в следующем: без уникального идентификатора для каждой строки вы не сможете получить данные. Но как только строка определена, вы можете получить значение из любого из ее столбцов.
Если в ваших таблицах иногда 12 строк, иногда 20, а иногда 25, вы должны предусмотреть место для возможного максимума, а затем спроектировать свои формулы так, чтобы возвращать пустое значение, если отображать нечего.
В заключение, ядро вашей системы находится в таблице турнирной таблицы. Он должен быть настроен так, чтобы из него можно было извлечь данные. В идеале ваш выбор на листе «Расширенная репутация» будет генерировать объединенный уникальный идентификатор для списка, к которому вы можете добавить фиксированный номер в столбце Pos
для идентификации отдельных строк в таблице репутации. Пока вы не можете идентифицировать строки, данные не могут быть получены.
Использование VBA дает вам больше гибкости, но не освобождает от необходимости создавать уникально идентифицируемые строки.