PHAKU miten toimii?

Herrazxcv

Minulla on taulukko, jossa on 1. alasivulla 10.000 asiakastunnusta sarakkeessa A. Alasivulla 2. on 500 asiakastunnusta sarakkeessa A1.

Nyt pitäisi 1 alasivulle sarakkeeseen B merkata "X" niiden asiakkaiden kohdalle, jotka löytyvät myös alasivulta 2.

Miten tuo tehdään? PHAKU ehkä toimii, mutta en ymmärrä, millainen kaava sen perään laitetaan.

8

965

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • jospalaskisin

      B1=JOS(LASKE.JOS(Taul2!$A:$A; A1)=0;""; "x")
      Kopioi kaava kaikkiin 10000 riviin. Vinkki: Valitse solu B1 ja tuplaklikkaa solun oikeassa alakulmassa olevaa "pallukkaa", kaava kopioituu alaspäin niin kauas kuin A-sarakkeella on tietoja.
      Kaavassa Taul2 tilalle vaihda se nimi joka on työkirjassa annettu sille "alasivu 2" ja muista huutomerkki (!) perään.

      • jospalaskisin

        Vielä tuosta kaavasta. Siihen jäi turhaan nuo "dollarimerkit". Niitä ei tarvita koska tuo A:A tarkistaa aina kaikki A-sarakkeen solut. Jos taas haluat tarkistaa vain nuo 500 riviä niin laita sitten $A$1:$A$500, että tarkistusalue pysyy aina samana kun kaava kopioidaan.


    • Kundepuu

      tommostakin voi käyttää. Tosin pitempi...
      VBA:ta, kun käyttää niin ei jää turhia laskutoimituskaavoja taulkkoon...

      B1=IF(ISERROR(MATCH(A1;Sheet2!$A$1:$A$500;0));"";"X")

      VBA
      taulukon moduuliin...
      Sub Tuplat()
      Dim Solu As Range
      Dim Solu2 As Range
      Dim Tuplat As Range
      Dim vika As Long
      Dim vika2 As Long
      'muuta taulukonnimet sopiviksi
      vika = Worksheets("Sheet1").Range("A65536").End(xlUp).Row
      vika2 = Worksheets("Sheet2").Range("A65536").End(xlUp).Row
      On Error Resume Next
      Application.ScreenUpdating = False
      'muuta taulukonnimet sopiviksi
      For Each Solu In Worksheets("Sheet1").Range("A1:A" & vika)
      For Each Solu2 In Worksheets("Sheet2").Range("A1:A" & vika2)
      If Solu.Value = Solu2.Value Then
      If Tuplat Is Nothing Then
      Set Tuplat = Solu
      Else
      Set Tuplat = Application.Union(Tuplat, Solu)
      End If
      End If
      Next
      Next
      Tuplat.Offset(0, 1) = "X"
      Application.ScreenUpdating = True
      End Sub

    • herrazxcv

      Kiitos ohjeista, mutta mikään noista ei toimi kunnolla. Taulukossa valmiina olevien tunnusten ei vertailu toimi, mutta jos syötän itse testiasiakkaita niin niiden kohdalla tunnistus toimii. Kaikki tietomuodot soluissa ovat samanlaisia. En käsitä ongelmaa. Kopioin kaikki tiedot samaan tauluun. Silti ei toimi. =JOS(LASKE.JOS(C:C;A1)=0;"ei löydy";"")
      A-sarakkeessa on kaikki asiakkaat. C-sarakkeessa osajoukko. Tuo kaava on B-sarakkeessa sinä välissä. Joka ikisessä kohdassa lukee "ei löydy" VAIKKA sarakkeissa onkin samoja asiakkaita. Mutta kun syötän itse uuden asiakkaan molempiin sarakkeisiin, niin funktio toimii ja antaa blankon. Mikä ihme tässä mättää?

      • herrazxcv

        Lisäksi: Funktio ei siis tunne kuin itse syöttämäni tapaukset. Jos syötän uudelleen A-sarakkeessa olevan tunnuksen ihan samanlaisena alkuperäisen päälle, niin tunnistus toimii! Tämä toimii vain sarakkeessa A. Älytöntä.


    • jospalaskisin

      Onko tieto tuotu jostain ulkoisesta ohjelmasta? Niissä täytyy olla joku ylimääräinen tulostumaton merkki. Jos siis kirjoitat uudelleen "päälle" johonkin soluun saman asiakastunnuksen käsin ja nyt kaava löytää sen, niin silloin siinä on varmasti ylimääräisiä tulostumattomia merkkejä.
      Koeta SIIVOA-funktiota, josko se pystyisi "puhdistamaan" ylimääräiset merkit. Funktio ei pysty poistamaan kaikkia ylimääräisiä merkkejä. Käy tuolla katsomassa, lisää ohjeita.
      https://support.office.com/fi-fi/article/Kymmenen-tapaa-tarkistaa-ja-korjata-tiedot-2844b620-677c-47a7-ac3e-c2e157d1db19?ui=fi-FI&rs=fi-FI&ad=FI

      • herrazxcv

        Tuosta sen täytyy johtua. Taulukko on tehty ohjelmallisesti ensin csv-tiedostoksi. Minä muunsin sen tavalliseksi Exceliksi tallentamalla.


      • herrazxcv

        Nyt huomasin, että asiakastunnusten perässä on 1 kpl blankoja. Kun editoin sen pois yhdestä solusta niin vertailu toimii. Mitenkähän saisin sen pois kaikista soluista kerralla?


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

    Luetuimmat keskustelut

    1. Taitaa jäädä kotimaiset mansikat ostamatta

      Kotimainen mansikka on niin kallista, että en ole vielä ainuttakana maistanut. Jos hinta pysyy näin korkealla niin tästä
      Ruoka ja juoma
      53
      1389
    2. Mikä on loppuelämäsi suunnitelma

      Kaivattuasi kohtaan? Olet päättänyt jotain?
      Ikävä
      123
      1334
    3. Sinkkumiehet hukkaavat tärkeän ässän hihastaan kun

      ...eivät suostu kavereiksi naisten kanssa. Mikä voi olla heillä syynä? Hyväksyvät vain naisen, joka suorastaan anelee sa
      Ikävä
      123
      1198
    4. Uskaltaisitko vielä

      Lähestyä vai et kaivattuasi?
      Ikävä
      139
      1025
    5. Keitä täällä on??

      Kertokaa nimenne!! 🤔
      Ikävä
      101
      897
    6. "Kaikkien miesten asia" - kampanja on alkanut

      Miehillä on naisiin kohdistuvan väkivallan lopettamisessa merkittävä rooli. Ei riitä, ettei itse tee väkivaltaa. Miesten
      Maailman menoa
      336
      829
    7. Tiedät, että en voi enää laittaa viestiä

      Aikaa kulunut. Eikä se näyttäisi enää luontevalta vastata näin pitkän ajan jälkeen. Tiedän myös, että sinä et enää lait
      Ikävä
      82
      724
    8. Lautakunta käsittelee Iisalmen kulttuuri- ja vapaa-aikajohtajan virkasuhteen purkua koeajalla:

      Lautakunta käsittelee Iisalmen kulttuuri- ja vapaa-aikajohtajan virkasuhteen purkua koeajalla: "Aina valinta ei mene nap
      Iisalmi
      54
      646
    9. Kun kohtaatte rakkauden, tarttukaa siihen

      Toimisinko jälkiviisaana toisin? Varmasti. Vaikka silloin kuvittelin tekeväni, niin kuin on oikein. Mahdollisimman siist
      Ikävä
      50
      633
    10. Lienee aika luopua siitä kaikesta

      mitä meillä ikinä olikaan. Hassua, koska juuri mitään ei ole edes ollutkaan. En vaan jaksa tätä mahdotonta juttua enää j
      Ikävä
      64
      602
    Aihe