Duplikaatit ja tietueiden poistaminen

PulassaOleva

Hei
Ongelmani on seuraava: Yrityksessä tehdään usealle asiakkaalle tarjouksia samasta projektista. Käytännössä siis Asiakas A:n tarjous Projekti X:stä kopioidaan Asiakas B:lle jne. Lopputuloksena on esim. 6 tarjousta samasta projektista mutta vain yhdestä voi valitettavasti tulla tilaus.
Yritän saada selville yrityksen HITRATE-arvoa ja tämähän ei onnistu jos kaikki kuudesta samaa projektia koskevasta tarjouksesta kaikki ovat tarjouskannassa. Yksi tarjous on siellä statuksella "WON" ja 5 statuksella "INPROG".
Tietueet eivät ole identtisiä, mutta "Project" kentässä on kaikilla identtinen tieto.
Onko mahdollista Excelin normaaleilla työkaluilla saada kanta putsattua siten, että saman projektin tarjouksista poistetaan muut paitsi se jolla status-kentässä on arvo "WON" tai toisaalta silloin kun mitään tarjousta ei ole hyväksytty (eli kaikki statuksella "INPROG") niin poistetaan muut paitsi se jonka loppusumma kentän arvo on pienin?
Onnistuuko siis Excelin normaaleilla työkaluilla vai pitääkö ryhtyä harjoittelemaan VB:tä? :)

3

211

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • PulassaOleva

      Ongelma on siis sellainen, että pitää verrata kolmen eri sarakkeen (Project, Status ja Tarjoussumma) tietoja ja pystyä poistamaan turhat rivit.
      1. Jos Project sarakkeesta ei löydy duplikaattia rivi saa jäädä koskemattomaksi.
      2. Jos Project sarakkeesta löytyy yksi tai useampi duplikaatti on verrattava Status saraketta ja jos Statuksena on WON niin kyseinen rivi jää, mutta muut rivit pitäisi saada poistettua.
      3. Jos Project sarakkeesta löytyy yksi tai useampi duplikaatti ja kaikilla niillä on Status sarakkeessa arvona INPROG niin täytyy verrata Tarjoussumma sarakkeen arvoja kyseisillä riveillä ja jättää jäljelle se rivi jossa arvo on pienin ja poistaa muut rivit.

    • Tämmöinen

      Oletus: tiedot ovat Sheet1:n sarakkeissa A-C ja ensimmäinen rivi on otsikko.

      Sub PoistaDuplikaatit()
          With ActiveWorkbook.Worksheets("Sheet1").Sort
            .SortFields.Clear
            .SortFields.Add Key:=Range("A:A"), Order:=xlAscending
            .SortFields.Add Key:=Range("B:B"), Order:=xlDescending
            .SortFields.Add Key:=Range("C:C"), Order:=xlDescending
            .SetRange Range("A:C")
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .Apply
          End With
          r = 1
          Do
            If Cells(r, 1) <> Cells(r   1, 1) Then
              r = r   1
            Else
              Rows(r   1).Delete
            End If
          Loop Until Cells(r, 1) = ""
      End Sub

    • PulassaOllut

      Kiitos Paljon!
      Homma toimi kun muutin oikeat sarakkeet ja hinta-sarakkeelle xlAscending xlDescending:n sijaan.
      Olikin aika yksinkertainen juttu loppujen lopuksi (jos sen osaa)

      Vielä kerran paljon kiitoksia.

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

    Luetuimmat keskustelut

    1. Haluaisitko nähdä

      Hänet alastomana?
      Ikävä
      90
      4726
    2. Nainen lopeta pakoon luikkiminen?

      Elämä ei oo peli 😔😟
      Ikävä
      29
      3384
    3. Hilirimpsistä

      Hyvää huomenta ja kivaa päivää. Ilmat viilenee. Niin myös tunteet. 🧊☕✨🍁❤️
      Ikävä
      201
      3182
    4. Älä elättele

      Toiveita enää. Ihan turhaa. Sotku mikä sotku.
      Ikävä
      51
      3027
    5. Olet täällä. Mutta ei minulle.

      Nyt olen tästä 100% varma. Satuttaa. T: V
      Ikävä
      24
      2965
    6. Miten hitsissä ulosoton asiakas?

      On tää maailma kumma, tässä haisee suuri kusetus ja ennennäkemättömän törkeä *huijaus*! Miten to.monen kieroilu on edez
      Kotimaiset julkkisjuorut
      321
      2816
    7. Kuule rakas...

      Kerrohan minulle lempivärisi niin osaan jatkaa yhtä projektia? Arvaan jo melkein kyllä toki. Olethan sinä aina niin tyyl
      Ikävä
      44
      2707
    8. Kela valvoo lasten tilejä.

      Tämä isoveli Kela kyttää jopa lasten yli 200,- euron rahat jotka on melko varmasti lahjaksi saatu. Se vaikuttaa perheen
      Yhteiskunta
      235
      2488
    9. Törmättiin tänään

      enkä taaskaan osannut reagoida fiksusti. Menen aina lukkoon. Yksi asia on varma: tunteeni sinua kohtaan ovat edelleen v
      Ikävä
      25
      2276
    10. Vieläkö sä

      Rakastat mua?❤️😔
      Ikävä
      52
      2255
    Aihe