find funktio

not found

Heips,

Voisiko joku selittää tuon FIND funktion toiminnan excelissä (tyhmälle ei mene kaaliin vaikka helppiä käyttää). Miten se toimii tai paremminkin minkä arvon se palauttaa? Eli tarkoituksena olisi saada etsittyä tietty teksti tietyltä alueelta (nyt ei kelpaa ctrl f), tämä teksti voi esiintyä useammassakin solussa. Miten saisi tehtyä sellaisen kaavan/kaavat, joka kertoisi missä soluissa kyseinen teksti on?

5

1546

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ...oooOOOooo...

      Se ei etsi tiettyä tekstiä tietyltä alueelta.
      Vaan se etsii tietyn merkkijonon (tekstin) tietystä tekstistä.

      Elikkä näin
      A1 solussa teksti
      aaabbbcccdddeeefff

      C1 solussa etsittävä merkkijono
      ccc

      D1 solussa kaava
      =FIND(C1;A1;1)

      Antaa tulokseksi 7 elikkä merkkijono löytyy 7. merkistä eteenpäin.

    • excel-asiantuntija

      Kuvauksesi perusteella FIND-funktio ei selvästikään vastaa tarvettasi. Sillä voi hakea tekstiä ainoastaan yhden merkkijonon (esimerkiksi yhden solun) sisältä, kun yllä jo kävi ilmi.

      MATCH-funktio sen sijaan saattaa auttaa jossain määrin. MATCH osaa hakea, missä kohtaa listaa haettava arvo on.

      Esimerkki. Soluissa A1-A7 on seuraavat nimet:
      Vilhelmi
      Jari
      Mikko
      Harri
      Ville
      Jalmari
      Elmeri

      Funktio MATCH("Harri";A1:A7;0) antaa tulokseksi 4, koska "Harri" on listan 4. arvo.

      MATCH ei osaa hakea osamerkkijonoja, vaan ainoastaan koko merkkijonoa. MATCH ei osaa myöskään hakea monimutkaisemmasta alueesta kuin yhdestä sarakkeesta.

      Jos tarvitset monimutkaisempaa hakua, joudut laatimaan VBA-makron.

      --
      Asiantuntevaa apua Excelin kiemuroihin - LGM Oy
      http://www.lgm.fi/

      • moduuliin...
        muuta hakusolu=K1 ja hakualue= A1:D10 sopiviksi

        Function EtsiiKaikkiAlueelta(Hakuehto As Variant, HakuAlue As Range) As String
        Dim solu As Range
        Dim EkaOsoite As String
        Worksheets("Sheet1").Activate
        With HakuAlue
        Set solu = .Find( _
        what:=Hakuehto, _
        LookIn:=xlValues, _
        LookAt:=xlWhole, _
        SearchOrder:=xlByRows, _
        SearchDirection:=xlNext, _
        MatchCase:=False, _
        SearchFormat:=False)
        If Not solu Is Nothing Then
        EkaOsoite = solu.Address
        Do
        EtsiiKaikkiAlueelta = EtsiiKaikkiAlueelta & ", " & solu.Address
        Set solu = .FindNext(solu)
        Loop While Not solu Is Nothing And solu.Address EkaOsoite
        End If
        End With
        EtsiiKaikkiAlueelta = Right(EtsiiKaikkiAlueelta, Len(EtsiiKaikkiAlueelta) - 1)
        End Function

        Sub Etsi()
        Dim solut As String
        On Error GoTo virhe
        solut = EtsiiKaikkiAlueelta(Range("K1"), Range("A1:D10"))
        MsgBox Range("K1") & " löytyi solu(i)sta" & solut
        Exit Sub
        virhe:
        MsgBox "ei löytynyt!"
        End Sub

        Keep EXCELing
        @Kunde


    • ...oooOOOooo...

      Vaihtoehtona olisi myös vlookup ja hlookup käskyt.

      Ne osaavat käydä hakemassa tietoa useammasta solusta, mutta....
      Niilläkin rajoituksena on että sinun pitää tietää tarkalleen se tieto mitä haet.
      Ei riitä vain osa tiedosta.

      Esim: sinä haluat löytää tiedon "kuusi"
      Ja sinulla on jossakin solussa tieto "Joulukuusi"
      Se ei löydä sitä.
      Sinun haussa pitäisi olla "Joulukuusi" kokonaan että haku löytyy.

    • lisärajoitteita...
      ei löydä kuin yhden esiintymän- yleensä ensimmäisen...
      toki kikkailemalla asiaa voi parannella
      VBA:lla toi oli piece of cake, ja löytää kaikki osittaisellakin vastineella, nyt tossa esim. koodissani tosin ei ole osavastinetta, mutta ei siihen tartte kuin vaihtaa
      LookAt:=xlWhole --->LookAt:=xlPart

      Keep EXCELing
      Kunde

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

    Luetuimmat keskustelut

    1. Suomen kansa haluaa Antti Lindtmanista pääministerin

      Lindtman on miltei tuplasti suositumpi kuin etunimikaimansa Kaikkonen. Näin kertoo porvarimedian teettämä kysely. http
      Maailman menoa
      318
      5013
    2. Miksei Björn Wahlroos jaa rahaa köyhille?

      Esimerkiksi Nordean tiloissa? Vai tuovatko ne köyhät hiekkaa marmorilattioille ja siksi ei pysty mursunviiksi pystyyn k
      Maailman menoa
      140
      3452
    3. Vain 21% kannattaa Lindtmania pääministeriksi

      se on selvästi vähemmän kuin puolueen kannatus, mites nyt noin?
      Maailman menoa
      161
      3189
    4. Vassarit kummittelee pääni sisällä joulunakin

      Hetki sitten alkoi punakapina. Joulupäivään mennessä ollaan jo Lindtmanin nuoruusvuosien näytelmäkerhossa. Tapaninpäivän
      Maailman menoa
      6
      2107
    5. Jouluksi miettimistä: kuka tai mikä valmistaa rahan?

      Nyt kun on ollut vääntöä rahasta ja eritoten sen vähyydestä, niin olisi syytä uida rahan alkulähteille, eli mistä se syn
      Maailman menoa
      37
      1649
    6. Julkinen sektori on elänyt aivan liian leveästi yli varojensa!

      Viimeisen 15 vuoden aikana julkisen puolen palkat ovat nousseet n. 40%, kun taas yksitysellä sektorilla vain n. 20%. En
      Maailman menoa
      252
      1422
    7. Yksikään persu ei ole saanut Nobelin palkintoa

      Kertoo paljon persujen älyn puutteesta. Demareista mm. Ahtisaari on kyseisen palkinnon saanut.
      Maailman menoa
      41
      1391
    8. Missä kunnassa kaivattusi asuu

      Kuinka tarkkaa uskalla sanoa?
      Ikävä
      48
      1331
    9. Onko 65-vuotias liian vanha lähtemään rintamalle?

      Suomessa reserviläisikä nousee ensi vuoden alusta 65 ikävuoteen. Jatkossa asevelvollinen kuuluu reserviin sen vuoden lop
      Maailman menoa
      356
      1274
    10. Miten antaa merkki hyvin eri ikäiselle miehelle, että kertoisi toiveensa ja ajatuksensa?

      Olen pitkään pitänyt miehestä, joka myös varmasti minusta. Hän ei tosin kerro ihastumisesta, eli voi hyvin olla, että tu
      Ikävä
      81
      1234
    Aihe