Доброго времени суток! Я не знаю каким инструментом можно решить мою задачу, поэтому прошу подсказки мастеров. Что имеем: Турнирный журнал, в который вносится статистика игроков после каждого матча в лист "Статистика" и лист "Персональная статистика", куда уже потом вручную копируется информация про каждого игрока и там высчитывается среднее значение его результатов. Задача: Автоматически собрать информацию (Игрок-Герой-KDA) с листа "Статистика" и скопировать в лист "Персональная статистика". Пример можно увидеть в прикрепленном файле, там сделано вручную. Если есть еще советы по автоматизации заполнения журнала, буду рад услышать предложения.
Доброго времени суток! Я не знаю каким инструментом можно решить мою задачу, поэтому прошу подсказки мастеров. Что имеем: Турнирный журнал, в который вносится статистика игроков после каждого матча в лист "Статистика" и лист "Персональная статистика", куда уже потом вручную копируется информация про каждого игрока и там высчитывается среднее значение его результатов. Задача: Автоматически собрать информацию (Игрок-Герой-KDA) с листа "Статистика" и скопировать в лист "Персональная статистика". Пример можно увидеть в прикрепленном файле, там сделано вручную. Если есть еще советы по автоматизации заполнения журнала, буду рад услышать предложения.patotpot
Pelena, просто собрали за 10.04.2021 персоналку, для теста. Извиняюсь за поздний ответ, просто живем на Чукотке :^) Вроде бы ваша формула работает, но она такая большая такая, можете объяснить как она работает вкратце? Чтобы я потом не накосячил и смог с ней работать.
Pelena, просто собрали за 10.04.2021 персоналку, для теста. Извиняюсь за поздний ответ, просто живем на Чукотке :^) Вроде бы ваша формула работает, но она такая большая такая, можете объяснить как она работает вкратце? Чтобы я потом не накосячил и смог с ней работать. patotpot
если вкратце Статистика!$D$3:$D$1000=A$1 -на листе Статистика в столбце D ищем имя из ячейки A1 (Илья). В результате получаем массив ИСТИНА/ЛОЖЬ из 1000 элементов. Это можно увидеть, выделив фрагмент в строке формул и нажав клавишу F9 на клавиатуре. (СТРОКА(Статистика!$E$3:$E$1000)-2)/(Статистика!$D$3:$D$1000=A$1) -там, где нашлось имя (ИСТИНА в предыдущем фрагменте), получаем соответствующую строку. Там где имя не совпадает и в предыдущей части была ЛОЖЬ, получаем ошибку деление на 0. В результате имеем массив из номеров строк и ошибок #ДЕЛ/0! АГРЕГАТ(15;6;(СТРОКА(Статистика!$E$3:$E$1000)-2)/(Статистика!$D$3:$D$1000=A$1);СТРОКА(A1)) -функция АГРЕГАТ(15;6 из полученного ранее массива начинает выбирать нужные номера строк, начиная с наименьшего (аргумент 15) и дальше по возрастанию, пропуская ошибки (аргумент 6). Возрастание обеспечивается аргументом СТРОКА(A1), т.к. при протягивании формулы вниз он будет давать 1, 2, 3 и т.д. То есть наименьший первый элемент массива, наименьший второй элемент массива ит.д. ИНДЕКС(Статистика!$E$3:$E$1000; -берём с листа Статистика столбец E - Герой (взяла 1000 строк, можно корректировать при необходимости) и в качестве номера строки подставляем результат функции АГРЕГАТ, полученный на предыдущем шаге, соответственно, получаем имя Героя, находящееся на той же строке, что найденное имя Илья ЕСЛИОШИБКА(ИНДЕКС( -функция ЕСЛИОШИБКА в данном случае нужна, чтобы перебрать ещё и вторую часть таблицы. То есть когда в первой части нужное имя не найдено, смотрим вторую часть (столбцы M и N). Вторая часть аналогична первой. Самая первая функция ЕСЛИОШИБКА позволяет, когда имена закончились и в первой и во второй части, вывести пустую ячейку, а не ошибку #ЧИСЛО!
если вкратце Статистика!$D$3:$D$1000=A$1 -на листе Статистика в столбце D ищем имя из ячейки A1 (Илья). В результате получаем массив ИСТИНА/ЛОЖЬ из 1000 элементов. Это можно увидеть, выделив фрагмент в строке формул и нажав клавишу F9 на клавиатуре. (СТРОКА(Статистика!$E$3:$E$1000)-2)/(Статистика!$D$3:$D$1000=A$1) -там, где нашлось имя (ИСТИНА в предыдущем фрагменте), получаем соответствующую строку. Там где имя не совпадает и в предыдущей части была ЛОЖЬ, получаем ошибку деление на 0. В результате имеем массив из номеров строк и ошибок #ДЕЛ/0! АГРЕГАТ(15;6;(СТРОКА(Статистика!$E$3:$E$1000)-2)/(Статистика!$D$3:$D$1000=A$1);СТРОКА(A1)) -функция АГРЕГАТ(15;6 из полученного ранее массива начинает выбирать нужные номера строк, начиная с наименьшего (аргумент 15) и дальше по возрастанию, пропуская ошибки (аргумент 6). Возрастание обеспечивается аргументом СТРОКА(A1), т.к. при протягивании формулы вниз он будет давать 1, 2, 3 и т.д. То есть наименьший первый элемент массива, наименьший второй элемент массива ит.д. ИНДЕКС(Статистика!$E$3:$E$1000; -берём с листа Статистика столбец E - Герой (взяла 1000 строк, можно корректировать при необходимости) и в качестве номера строки подставляем результат функции АГРЕГАТ, полученный на предыдущем шаге, соответственно, получаем имя Героя, находящееся на той же строке, что найденное имя Илья ЕСЛИОШИБКА(ИНДЕКС( -функция ЕСЛИОШИБКА в данном случае нужна, чтобы перебрать ещё и вторую часть таблицы. То есть когда в первой части нужное имя не найдено, смотрим вторую часть (столбцы M и N). Вторая часть аналогична первой. Самая первая функция ЕСЛИОШИБКА позволяет, когда имена закончились и в первой и во второй части, вывести пустую ячейку, а не ошибку #ЧИСЛО!
Pelena, очень сложно и круто, постараюсь это переварить. Еще раз спасибо за ваш труд! Есть еще маленький вопрос: по какому принципу вставляются герои в Персональную статистику? Там они то в середине столбца появляются, то в конце.
Pelena, очень сложно и круто, постараюсь это переварить. Еще раз спасибо за ваш труд! Есть еще маленький вопрос: по какому принципу вставляются герои в Персональную статистику? Там они то в середине столбца появляются, то в конце.patotpot
Светлый, сохраню оба файлика на всякий, спасибо! Ну и тогда последний вопросец: если придется добавить нового человека, то достаточно просто протянуть формулу в его сторону и оно будет искать имя, которое указано в первой строке в Персональной статистике?
Светлый, сохраню оба файлика на всякий, спасибо! Ну и тогда последний вопросец: если придется добавить нового человека, то достаточно просто протянуть формулу в его сторону и оно будет искать имя, которое указано в первой строке в Персональной статистике?patotpot