Eri tietoja sisältävien solujen määrän laskeminen, ehdolla...

Jaahaspas

No niin pojat ja tytöt...

Löytyy iso määrä tietoa, yhdessä sarakkeessa ehtotekijä, toisessa sarakkeessa etsittävät tiedot.

Ehtosarake = kirjaimia
Tietosarake =numeroita

A | 1
A | 2
A | 1
A | 3
B | 1
C | 2
D | 1
D | 1
F | 7


Nyt pitäisi saada määrät ylös.

Tämmöiset tulokset tulisi esimerkin arvoilla/tiedoilla
Tulokset = kirjaimia
Määrä =numeroita

TULOKSET MÄÄRÄ
A 3
B 1
C 1
D 1
F 1
Eli määrä sarakkeeseen pitäisi saada eri arvoja sisältävien solujen lukumäärä.

Sekavasta selityksestä kiitokseen...
Kiitos osaaville jo etukäteen

3

1002

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • onnistu

      ihan COUNTIF- funktiolla , laskemalla kirjainten lukumäärä? Tosin noita sinun tuloksiasi sillä ei saa...vaan
      A 4
      B 1
      C 1
      D 2
      F 1

    • moduuliin...
      tiedot nyt A1:B jotakin
      tulos näkyviin F1 alkaen

      Sub PoistaTuplat()
      Dim cell As Range
      Dim Vika As Double
      Dim EiTupla As New Collection
      On Error GoTo virhe

      Vika = Range("A65536").End(xlUp).Row

      'kopioidaan tiedot F1 alkaen
      Columns("F:G").Clear
      Range("A1:B" & Vika).Copy Destination:=Range("F2")

      'lajitellaan
      Range("F2:G" & Vika).Sort Key1:=Range("F2"), Order1:=xlAscending, Key2:=Range("G2") _
      , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
      False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
      :=xlSortNormal

      'lisätään uniikit arvot kokoelmaan
      For Each cell In Range("F2:F" & Vika 1)
      If Not IsEmpty(cell) Then
      EiTupla.Add cell.Value, CStr(cell.Value & cell.Offset(0, 1).Value)
      End If
      Next cell
      'tyhjennetään alue ja lisätään riviotsikot
      Columns("F:G").Clear
      Range("F1") = "TULOKSET"
      Range("G1") = "MÄÄRÄ"

      'täytetään tiedot
      'eka kirjain kokoelmasta
      Range("F2").Select
      ActiveCell = EiTupla(1)

      'lisätään loput
      For i = 1 To EiTupla.Count
      If ActiveCell = EiTupla(i) Then
      ActiveCell.Offset(0, 1) = ActiveCell.Offset(0, 1) 1
      Else
      ActiveCell.Offset(1, 0).Select
      ActiveCell = EiTupla(i)
      ActiveCell.Offset(0, 1) = ActiveCell.Offset(0, 1) 1
      End If
      Next
      'sarakelevys kohdilleen
      Range("F1:G1").EntireColumn.AutoFit
      Exit Sub
      virhe:
      'tänne tullaan, jos arvo oli jo kokoelmassa... jatketaan vaan lisäystä seuraavilla arvolla
      Resume Next
      End Sub

      • Jaahaspas

        Kiitos arvon gurulle avusta...


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mikä on kaivattusi etunimi?

      Otsikossa siis on kysymys eriteltynä. Vain oikeat vastaukset hyväksytään.
      Ikävä
      127
      2356
    2. En kestä katsoa

      Sitä miten sinusta on muut kiinnostuneita. Olen kateellinen. Siksi pitäisi lähteä pois
      Ikävä
      108
      1403
    3. Peräti 95 % persujen kannattajista rasisteja

      Kertoo EVA:n teettämä kysely. Pakollista yhdenvertaisuuskoulutusta tarvitsee siis paljon laajempi joukko kuin pelkästää
      Maailman menoa
      334
      1140
    4. Anna minulle anteeksi

      Anna minulle anteeksi. Minä pyydän.
      Ikävä
      111
      1104
    5. Kun viimeksi kohtasitte/näitte

      Mitä olitte tekemässä? Millainen ympäristö oli? Löydetään toisemme...
      Ikävä
      104
      1077
    6. Olet kyllä vaarallisen himokas

      Luova, kaunis, määrätietoinen, pervo, mielenkiintoinen, kovanaama, naisellinen ja erikoinen.
      Ikävä
      99
      975
    7. On minulla suunitelma

      Siitä ei vain tiedä kukaan muu kuin tällä hetkellä minä. Suunnitelma ja varasuunnitelma. Sinun takiasi nainen. Vain s
      Ikävä
      44
      710
    8. Palstan ylivoimaisesti suosituin keskustelunaihe

      Palstan suosituin keskustelunaihe näyttää olevan homoseksuaalisuus. Otsikoiden perusteella voisi kuvitella olevansa Seks
      Luterilaisuus
      252
      699
    9. Ei koskaan saatu tuntea

      Mitä olisi ollut painautua toisiimme vasten. Hengittää syvään, hyväillä ja rakastella vailla kiirettä. Tai repiä vaattee
      Ikävä
      33
      690
    10. 50
      674
    Aihe