Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Итог серии турниров - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Итог серии турниров
Ron Дата: Суббота, 05.01.2013, 14:42 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Задача - нужно подвести итог серии из Х турниров, произвольные участники и их кол-во.
Дано - Х листов с результатами турниров
пример
1 турнир, 1 лист
имя баллы
ivan 11.5
vasya 8
petya 5
olya 2

2 турнир, 2 лист
имя баллы
vasya 10.5
john 7.5
ivan 1.5

3 турнир, 3 лист
имя баллы
masha 15.5
olya 9.5
ivan 7.5
john 4.5
petya 1

и т.д.

Как я понимаю необходимо пройти по всем строкам всех листов результатов отдельных турниров и если есть имя в итоговой таблице, то прибавить баллы, если имени нет, добавить новую строку с результатом отдельного турнира.
Подскажите, пожалуйста.
 
Ответить
СообщениеЗадача - нужно подвести итог серии из Х турниров, произвольные участники и их кол-во.
Дано - Х листов с результатами турниров
пример
1 турнир, 1 лист
имя баллы
ivan 11.5
vasya 8
petya 5
olya 2

2 турнир, 2 лист
имя баллы
vasya 10.5
john 7.5
ivan 1.5

3 турнир, 3 лист
имя баллы
masha 15.5
olya 9.5
ivan 7.5
john 4.5
petya 1

и т.д.

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

Автор - Ron
Дата добавления - 05.01.2013 в 14:42
ВладимирG Дата: Суббота, 05.01.2013, 17:27 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 136
Репутация: 22 ±
Замечаний: 0% ±

2007
Вы бы прошлись по форуму и посмотрели, как нужно правильно выкладывать задачу, если лень правила читать
 
Ответить
СообщениеВы бы прошлись по форуму и посмотрели, как нужно правильно выкладывать задачу, если лень правила читать

Автор - ВладимирG
Дата добавления - 05.01.2013 в 17:27
wild_pig Дата: Суббота, 05.01.2013, 17:36 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 518
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
[offtop]-А волшебное слово?
-Быстро!
(Анегдот в тему)[/offtop]
 
Ответить
Сообщение[offtop]-А волшебное слово?
-Быстро!
(Анегдот в тему)[/offtop]

Автор - wild_pig
Дата добавления - 05.01.2013 в 17:36
Ron Дата: Суббота, 05.01.2013, 18:39 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

прикрепил пример и результат по нему
К сообщению приложен файл: 6537280.xls (25.0 Kb)
 
Ответить
Сообщениеприкрепил пример и результат по нему

Автор - Ron
Дата добавления - 05.01.2013 в 18:39
AlexM Дата: Суббота, 05.01.2013, 20:31 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Эта тема 99,9% похожа на тему Сводная ведомость
А посему прикладываю на 0,1% доработанный файл
К сообщению приложен файл: 6537280_new.xls (44.5 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеЭта тема 99,9% похожа на тему Сводная ведомость
А посему прикладываю на 0,1% доработанный файл

Автор - AlexM
Дата добавления - 05.01.2013 в 20:31
ВладимирG Дата: Воскресенье, 06.01.2013, 01:02 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 136
Репутация: 22 ±
Замечаний: 0% ±

2007
Код
=СУММПРОИЗВ(СУММЕСЛИ(ДВССЫЛ("'Турнир"&СТРОКА(ДВССЫЛ("1:"&3))&"'!A1:a30");A1;ДВССЫЛ("'Турнир"&СТРОКА(ДВССЫЛ("1:"&3))&"'!b1:b30")))
 
Ответить
Сообщение
Код
=СУММПРОИЗВ(СУММЕСЛИ(ДВССЫЛ("'Турнир"&СТРОКА(ДВССЫЛ("1:"&3))&"'!A1:a30");A1;ДВССЫЛ("'Турнир"&СТРОКА(ДВССЫЛ("1:"&3))&"'!b1:b30")))

Автор - ВладимирG
Дата добавления - 06.01.2013 в 01:02
Ron Дата: Воскресенье, 06.01.2013, 11:55 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Спасибо за помощь, использовал макрос AlexM, осталось разобраться в сортировке
 
Ответить
СообщениеСпасибо за помощь, использовал макрос AlexM, осталось разобраться в сортировке

Автор - Ron
Дата добавления - 06.01.2013 в 11:55
AlexM Дата: Воскресенье, 06.01.2013, 12:35 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
В макросе можно вынести вывод результата из цикла. Замените фрагмент кода
[vba]
Код
For i = 1 To j1
For j = 1 To j2
     If uniArr(i, 1) = allArr(j, 1) Then uniArr(i, 2) = uniArr(i, 2) + allArr(j, 2)
Next j
Sheets("Итог серии").Range("A" & i) = uniArr(i, 1)
Sheets("Итог серии").Range("B" & i) = uniArr(i, 2)
Next i
[/vba]
на следующий
[vba]
Код
For i = 1 To j1
For j = 1 To j2
     If uniArr(i, 1) = allArr(j, 1) Then uniArr(i, 2) = uniArr(i, 2) + allArr(j, 2)
Next j
Next i
Sheets("Итог серии").Range("A1").Resize(i, 2) = uniArr()
[/vba]



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеВ макросе можно вынести вывод результата из цикла. Замените фрагмент кода
[vba]
Код
For i = 1 To j1
For j = 1 To j2
     If uniArr(i, 1) = allArr(j, 1) Then uniArr(i, 2) = uniArr(i, 2) + allArr(j, 2)
Next j
Sheets("Итог серии").Range("A" & i) = uniArr(i, 1)
Sheets("Итог серии").Range("B" & i) = uniArr(i, 2)
Next i
[/vba]
на следующий
[vba]
Код
For i = 1 To j1
For j = 1 To j2
     If uniArr(i, 1) = allArr(j, 1) Then uniArr(i, 2) = uniArr(i, 2) + allArr(j, 2)
Next j
Next i
Sheets("Итог серии").Range("A1").Resize(i, 2) = uniArr()
[/vba]

Автор - AlexM
Дата добавления - 06.01.2013 в 12:35
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!