Добрый день!
Есть данные:
Договор Общая стоимость Дата запроса
17718860156 6.201,60 07.06.2017 15:06
17718860156 6.201,60 23.05.2017 9:16
17718860156 6.201,60 21.04.2017 9:37
17718860156 6.201,60 17.03.2017 9:50
17718860156 6.201,60 17.02.2017 10:39
17718860156 6.201,60 27.01.2017 9:45
17730950159 5.943,20 07.06.2017 14:45
17730950159 5.943,20 23.05.2017 9:16
17730950159 5.943,20 21.04.2017 9:08
17730950159 5.943,20 17.03.2017 9:27
17730950159 5.943,20 17.03.2017 9:24
17730950159 20.672,00 15.03.2017 16:00
17730950159 14.728,80 15.03.2017 15:56
17730950159 14.728,80 15.03.2017 15:53
17730950159 7.855,36 15.03.2017 15:50
17730950159 37.510,00 15.03.2017 15:46
17730950159 4.879,20 17.02.2017 9:58
17730950159 20.672,00 17.02.2017 9:54
17730950159 14.728,80 16.02.2017 11:36
17730950159 14.728,80 16.02.2017 11:33
17730950159 7.855,36 16.02.2017 11:30
17730950159 37.510,00 16.02.2017 11:27
17730950159 5.943,20 23.01.2017 14:44
и т.д.
Надо узнать по номеру договора сколько раз в определенный месяц менялась сумма. т.е. в итоге получилась таблица где в верху месяца а по строчкам номер договора и кол изменения цены в данном месяце:
01.17 02.17......
17730950159 1 3
Делаю так: считываю все в массив и пытаюсь сделать сортировку но что то не могу найти подходящий простой метод...
Код |
---|
Sub Moskva()
Dim Massiv_lista As Variant
Dim tek_summa As Variant
Dim tek_dogovor As Variant
Dim mesyac(1 To 6) As Variant
Set Range_Lista = Worksheets("Лист1").UsedRange
Massiv_lista = Range_Lista.Value
kol_strok_Lista = UBound(Massiv_lista, 1)
kol_stolbov_Lista = UBound(Massiv_lista, 2)
Cells(1, 5) = "Договор"
tek_dogovor = Cells(2, 1)
Cells(2, 5) = tek_dogovor
tek_summa = Cells(2, 2)
For s = 2 To 7
mesyac(s - 1) = Right(Left(Massiv_lista(s, 3), 10), 7)
Cells(1, s + 4) = mesyac(s - 1) 'массив месяцев
Next s
shag = 3
'цикл перебора массива
For d = 2 To kol_strok_Lista
If tek_dogovor = Massiv_lista(d, 1) Then
If tek_summa = Massiv_lista(d, 2) Then
For aa = 1 To 6
tek_mesyac = Right(Left(Massiv_lista(d, 3), 10), 7)
If tek_mesyac = mesyac(aa) Then
Cells(2, aa + 5) = 1
End If
Next aa
End If
Else
tek_dogovor = Massiv_lista(d, 1)
Cells(shag, 5) = tek_dogovor
tek_summa = Massiv_lista(d, 2)
shag = shag + 1
End If
Next d
End Sub |