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

265

    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. Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa

      En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod
      Ikävä
      33
      7144
    2. Huomenta ihana

      Kauniskasvoinen ihanuus 😘 saan sut vielä
      Ikävä
      39
      6625
    3. Hei rakas...

      Miten on työpäivä sujunut? Rakastan sinua 💗
      Ikävä
      29
      3614
    4. Ei tämä etene ikinä

      Kun kumpikaan ei enää ota yhteyttä. Mä en ainakaan uskalla.
      Ikävä
      45
      3130
    5. Edelleen sitä on vaikea uskoa

      Että olisit oikeasti rakastunut muhun
      Ikävä
      34
      2784
    6. Vitsi mihin menit. Heti takasin.

      Mä näin sut tuu takasin! Oli kiire, niin en ehtiny sin perään!
      Ikävä
      16
      2572
    7. Toiveikas vai toivoton

      torstai? Ajatuksia?
      Ikävä
      37
      2198
    8. Mukavaa päivää

      Mun rakkauden kohteelle ❤️ toivottavasti olet onnellinen
      Ikävä
      16
      2116
    9. Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...

      Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons
      Suomalaiset julkkikset
      48
      1977
    10. Koko ajan olet

      Senkin suhteen kiusannut. Halut on ihan mielettömät olleet jo pitkään
      Ikävä
      34
      1870
    Aihe