Страницы: 1
RSS
Расчёт статистики команд (очков, игр, побед и т. д.) по таблице результатов игр
 
Здравствуйте Форумчане!
Такой вопрос новичка, задача все задуманное сделать средствами VBA
1. Скопировал данные с сайта получилось 850 строк текста
2. вставил в Лист1
3. С помощью макроса отредактировал всю таблицу, удалил пустые строки, кое где заменил значения
4. преобразовал текстовые значения в цифровые
Получилась некая таблица из 5 столбцов и более 800 строк. Теперь стоит задача, на этом же листе сформировать некую сводную таблицу. как можно это реализовать?
Все эти данные это результаты игр баскетбольных команд всего известно что команд 30, во втором столбце и в третим эти команды иногда фигурируют
как вытащить все эти 30 команд в единый список  
Изменено: ex_kalibur - 13.02.2018 01:02:01
 
Что значит
Цитата
ex_kalibur написал: некую сводную таблицу
Что она должна отражать? Какой анализ Вам нужен?
И почему на этом же листе?
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Sanja написал:
Что она должна отражать? Какой анализ Вам нужен?И почему на этом же листе?
Анализ наверно сложный,
нужно что б получилась сводная таблица, где по вертикале будут обозначны все 30 команд а по горизонтали будут добавлены несколько столбцов в эти столбцы нужно занести сколкьо всего игр было, сколько побед, сколько порожений, сколько забито, сколько пропущено, на сайте Майскоре такие таблицы есть, и можно было просто их скачать, но повсей видимости там у них какая тоошибка, они суммируют все очки которые забили включая овертайм, а мне нужно вывести это
 
Доброе время суток.
Версия на Power Query.
Успехов.
 
доброго, посмотрел вашу версию, и она самое то что нужно, но интересно именно средствами VBА сделать, я начинающий , и сейчас любую информацию впитываю с большим удовольствием.
Всю ночь думал как это реализовать, и пока что пришло в голову только использовать циклы по строкам и заносить их в массив, ну или что то в этом роде, только как то все это убого на мой взгляд
 
а это и есть путь познания - от простого (убогого) к совершенству
сделайте сначала чтобы просто работало, а потом можно думать, как оптимизировать
совершенству нет предела, на этом пути много удовольствий
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Вообщем, пока ждал ответа нашел информацию в инете выкладываю макрос здесь может кому понадобится
Код
Sub ОтборКоманд()
    Dim vItem, avArr, li As Long
    ReDim avArr(1 To Rows.Count, 1 To 1)
    With New Collection
        On Error Resume Next
        For Each vItem In Range("B2", Cells(Rows.Count, 2).End(xlUp)).Value
            'Cells(Rows.Count, 1).End(xlUp) – определяет последнюю заполненную ячейку в столбце А
            .Add vItem, CStr(vItem)
            If Err = 0 Then
                li = li + 1: avArr(li, 1) = vItem
            Else: Err.Clear
            End If
        Next
    End With
    If li Then ActiveWorkbook.Sheets("Лист2").Cells(1, 1).Resize(li).Value = avArr
   ' heets("2").Range("D7").AutoFill Destination:=Sheets("2").Range("D7:D8"), Type:=xlFillDefault
End Sub
 
Цитата
ex_kalibur написал: пока ждал ответа
Цитата
ex_kalibur написал: Теперь стоит задача,
Для вас вопрос и задача - слова синонимы?
Цитата
ex_kalibur написал: но интересно именно средствами VBА сделать
Мне было интересно на PQ, на VBA тривиально и скучно - похоже я в этом не одинок, судя по числу ответов на VBA. Выходной массив и словарь, где ключ название команды, значение номер строки выходного массива, в столбцах которой накапливаем требуемую статистику по команде.
Изменено: Андрей VG - 13.02.2018 12:08:56
Страницы: 1
Читают тему
Наверх