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

690

    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ä ihmettä

      Kaipaat hänessä
      Ikävä
      103
      1565
    2. Välillä käy mielessä

      olisiko sittenkin ollut parempi, että emme koskaan olisi edes tavanneet. Olisi säästynyt monilta kyyneleiltä.
      Ikävä
      78
      1204
    3. Mitä oikein

      Näet minussa? Kerro.
      Ikävä
      88
      1127
    4. Lopeta tuo mun kiusaaminen

      Ihan oikeasti. Lopeta tuo ja jätä mut rauhaan.
      Ikävä
      139
      1036
    5. Uskoontulo julistetun evankeliumin kautta

      Ja kun oli paljon väitelty, nousi Pietari ja sanoi heille: "Miehet, veljet, te tiedätte, että Jumala jo kauan aikaa sitt
      Raamattu
      580
      985
    6. Mika Muranen juttu tänään

      Jäi puuttumaan tarkennus syystä teolle. Useat naapurit olivat tehneet rikosilmoituksia tästä kaverista. Kaikki oli Muras
      Sananvapaus
      1
      967
    7. Hanna Kinnunen sai mieheltään tiukkaa noottia Tähdet, tähdet -kotikatsomosta: "Hän ei kestä, jos..."

      Hanna Kinnunen on mukana Tähdet, tähdet -kisassa. Ja upeasti Salkkarit-tähti ja radiojuontaja onkin vetänyt. Popedan Lih
      Tv-sarjat
      8
      892
    8. Kotipissa loppuu

      Onneksi loppuu kotipizza, kivempi sotkamossa käydä pitzalla
      Kuhmo
      20
      870
    9. Oho! Farmi-tippuja Wallu Valpio ei säästele sanojaan Farmi-oloista "Se oli niin luotaantyöntävää..."

      Wallu oikein listaa epämiellyttävät asiat… Monessa realityssä ollut Wallu Valpio ei todellakaan säästele sanojaan tippum
      Tv-sarjat
      9
      714
    10. Helvetin hyvä, että "hullut" tappavat toisensa

      On tämä merkillistä, että yritetään pitää hengissä noita paskaperseitä, joilla ei ole muuta tarkoitusta, kuin olla riida
      Kokkola
      8
      670
    Aihe