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

854

    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. Mitä tapahtunut

      Poliiseja monta autoa+panssariauto Porista kpäähän päin tänään klo n.20 kuka hurjistunut ?
      Kankaanpää
      51
      6450
    2. Lakea konkurssiin. Asukkaat menettävät asuntonsa

      Kuntarahoitus on tänään jättänyt konkurssihakemuksen lakean kaikista kiinteistö osakeyhtiöistä. Kassa on tyhjä, kaikki
      Seinäjoki
      94
      4608
    3. Upea peppuisella naisella

      Upea peppuisella naisella on upea peppu.
      Ikävä
      58
      4513
    4. Nikkalassa vauhdilla nokka kohti taivasta

      Mitähän Darwin sanoisi näistä 4 suomalaisesta, jotka kävivät Haparandan puolella näyttämässä, kuinka Suomi auto kulkee t
      Tornio ja Haaparanta
      24
      3428
    5. Gallup: kaivattusi syntymävuosi

      Minä vuonna kaipaamasi henkilö on syntynyt?
      Ikävä
      200
      3088
    6. Missäpäin,,,

      Lapuaa tapettu ihminen viime yönä ? Hurjaa touhua nykymeno täällä...
      Lapua
      41
      2855
    7. mahdollista, että olet ollut iltavuorossa

      Ja kotiin päästyäsi tulit palstalle etsimään merkkiä minusta, jos kaipaat yhtään minua niin kuin minä sinua Ei mennyt k
      Ikävä
      13
      2699
    8. törniöläiset kaaharit haaparannassa

      isäpapan autolla kaahatta 270 km/h metsään https://www.lapinkansa.fi/nsd-kaksi-suomalaista-kuoli-kolarissa-haaparannall/
      Tornio ja Haaparanta
      20
      2696
    9. Mitähän ne katseet merkitsee

      Kun et saa sanaa suustasi.
      Ikävä
      156
      1611
    10. Sitä saa mitä tilaa Perussuomalaiset!

      https://yle.fi/a/74-20160212 SDP:n kannatus se vain nousee ja Keskusta on kolmantena. Kokoomus saanut pienen osan persu
      Maailman menoa
      328
      1536
    Aihe