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

319

    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. Tykkäsin rakas

      Tuottaa sulle nautintoa❤️🔥olet paras ja nautin itsekkin suunnattomasti
      Suhteet
      35
      2156
    2. Hyvää iltaa!

      Mikä on päivän viisaus?
      Ikävä
      84
      1283
    3. Arvaa mitä mies

      Aion pilata elämäsi totaalisesti. Kyllä, totaalisesti.
      Ikävä
      56
      1258
    4. Mies mä oon ihan helppo

      Miehelle johon oon ihastunut. Olen harvoin ihastunut, mutta suhun olen. Ei tarvitse kuin pyytää, niin...
      Ikävä
      32
      1172
    5. Olet onnellinen sinkku

      Näin se on nähtävä.
      Ikävä
      63
      1151
    6. Mies olen aika erakko nykyään

      Vanhentunutkin olen muutamana viime vuonna parikyt vuotta. Kun en ennenkään kelvannut, niin tuskin nytkään kelpaan. Lisä
      Tunteet
      39
      864
    7. Lavroville taitaa olla jo ikkuna raollaan?

      Lavrovin syytä välttää korkeita paikkoja ja ikkunoiden läheisyyttä.Ettei vain keikahda ikkunasta pihalle.
      Maailman menoa
      122
      749
    8. Haittaako jos

      kaivattusi käy tosi usein pissalla ja/tai kakalla?
      Ikävä
      27
      694
    9. Skenaario

      Elämä ja kuolema ovat merkillisin nyytti olevaisuutta. Mutta kun kumpaakaan ei ole, syntyy lapsuksia, joita korjaamaan
      Sinkut
      55
      555
    10. Ylen johdon hulppeat bonukset alkavat taas

      Suora kopio Iltalehdestä: "Asiasta kertoo Iltalehdelle Ylen hallituksen puheenjohtaja Matti Apunen. Mitä tulospalkkioi
      Yle
      20
      541
    Aihe