Olisi lista numeroita monen kuukauden ajalta ja pitäisi jollain keinolla tulostaa kaikkein useimmiten esiintyvät numerot.
Miten tämä tehdään? Funktio mode ainakin taitaa näyttää kaikkein esiintyvimmän, mutta entä jos haluaisi esimerkiksi kymmenen esiintyvintä numeroa tulostaa?
EDIT: Niin juu ja tosiaan... Käytössä on siis Microsoft Office 2003:n Excel.
En ole Excel-asiantuntija, joten seuraava koodi voi olla tarpeettoman monimutkainen:
' lukujen lista alkaa kohdasta C4 rivi = 4: sarake = 3 ' kopioidaan luvut kohta = 0 While Cells(rivi + kohta, sarake) <> "" Cells(rivi + kohta, sarake + 2) = Cells(rivi + kohta, sarake) kohta = kohta + 1 Wend ' järjestetään luvut Cells.Range(Cells(rivi, sarake + 2), _ Cells(rivi + kohta - 1, sarake + 2)).SortSpecial _ Key1:=Cells(rivi, sarake + 2), Order1:=xlAscending ' luokitellaan luvut uusi = 0 Cells(rivi, sarake + 4) = Cells(rivi, sarake + 2) Cells(rivi, sarake + 5) = 0 For i = 0 To kohta - 1 If Cells(rivi + uusi, sarake + 4) <> Cells(rivi + i, sarake + 2) Then uusi = uusi + 1 Cells(rivi + uusi, sarake + 4) = Cells(rivi + i, sarake + 2) Cells(rivi + uusi, sarake + 5) = 1 Else Cells(rivi + uusi, sarake + 5) = Cells(rivi + uusi, sarake + 5) + 1 End If Next ' järjestetään luokitukset Cells.Range(Cells(rivi, sarake + 4), _ Cells(rivi + uusi, sarake + 5)).SortSpecial _ Key1:=Cells(rivi, sarake + 5), Order1:=xlDescending, _ Key2:=Cells(rivi, sarake + 4), Order2:=xlAscending
PivotTablella onnistuu myös ilman koodausta ja COUNTIF-funktiolla vähän kikkailemalla.
Aihe on jo aika vanha, joten et voi enää vastata siihen.