Last active
January 25, 2016 22:23
-
-
Save naranjja/927744ca897df7b8f4d3 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sub pregunta2A() | |
Set basedata = Workbooks("pwt80").Sheets(3) | |
Set output = Workbooks("T01").Sheets(1) | |
Min = 1 | |
Max = 10624 | |
decada = output.[c5] | |
'recorrer todo el tamano de la tabla | |
For i = Min To Max | |
'si roundDown(ano/10,0)*10 = decada y la columna F no esta vacia, entonces... | |
If (RoundDown((basedata.[d1].Offset(i, 0)) / 10, 0) * 10 = decada) And (basedata.[f1].Offset(i, 0) <> 0) Then | |
'ejemplo: 1973/10 = 197.3, rounddown(197.3,0) = 197, 197*10 = 1970 .:. 1973 pertenece a la decada de 1970 | |
'almacenar el valor del GDP per capita en la columna AN | |
basedata.[an1].Offset(i, 0).Value = basedata.[f1].Offset(i, 0) / basedata.[g1].Offset(i, 0) | |
End If | |
Next i | |
'''' Algoritmo Bubble Sort '''' | |
'esto sirve para ordenar un vector de manera descendiente | |
'del principio al final-1 | |
For i = Min To Max - 1 | |
'del principio+1 al final | |
For j = i + 1 To Max | |
'si el GDP per capita de i es mayor al siguiente, entonces... | |
If basedata.[an1].Offset(i, 0) > basedata.[an1].Offset(j, 0) Then | |
'almacenar temporalmente el valor mayor | |
temp = basedata.[an1].Offset(i, 0) | |
'reemplazar el valor mayor por el valor siguiente (que es menor) | |
basedata.[an1].Offset(i, 0).Value = basedata.[an1].Offset(j, 0) | |
'tomar nota del pais correspondiente | |
basedata.[ao1].Offset(i, 0).Value = basedata.[a1].Offset(i, 0) | |
'reemplazar el valor menor por el valor mayor | |
basedata.[an1].Offset(j, 0).Value = temp | |
'tomar nota del pais correspondiente | |
basedata.[ao1].Offset(j, 0).Value = basedata.[a1].Offset(j, 0) | |
End If | |
Next j | |
Next i | |
'declarar un contador en 1 para escribir en una nueva columna sin dejar espacios | |
h = 1 | |
'recorrer todo el tamano de la tabla | |
For i = Min To Max | |
'cada 10 tuplas... | |
For j = 1 To 10 | |
'acumular los datos del GDP per capita | |
acumulador = acumulador + basedata.[an1].Offset(i, 0) | |
Next j | |
'almacenar el promedio del GDP per capita para ese pais en la columna AP | |
basedata.[ap1].Offset(h, 0).Value = acumulador / 10 | |
'almacenar el nombre del pais en la columna AQ | |
basedata.[aq1].Offset(h, 0).Value = basedata.[ao1].Offset(i, 0) | |
'la columna AQ tiene que aumentar de 1 en 1 | |
h = h + 1 | |
'cada 10 tuplas hay un nuevo pais | |
i = i + 10 | |
Next i | |
'iterar 10 veces... | |
For i = 1 To 10 | |
'escribir en T01, C10 y adelante los valores del 1 al 10 | |
output.[c9].Offset(i, 0).Value = basedata.[aq1].Offset(i, 0) | |
'escribir en T01, D10 y adelante los valores del 1052 al 1062 | |
output.[d9].Offset(i, 0).Value = basedata.[aq1].Offset(i + 1051, 0) | |
Next i | |
End Sub |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment