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?
find funktio
5
1546
Vastaukset
- ...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
Suomen kansa haluaa Antti Lindtmanista pääministerin
Lindtman on miltei tuplasti suositumpi kuin etunimikaimansa Kaikkonen. Näin kertoo porvarimedian teettämä kysely. http3185013Miksei Björn Wahlroos jaa rahaa köyhille?
Esimerkiksi Nordean tiloissa? Vai tuovatko ne köyhät hiekkaa marmorilattioille ja siksi ei pysty mursunviiksi pystyyn k1403452Vain 21% kannattaa Lindtmania pääministeriksi
se on selvästi vähemmän kuin puolueen kannatus, mites nyt noin?1613189Vassarit kummittelee pääni sisällä joulunakin
Hetki sitten alkoi punakapina. Joulupäivään mennessä ollaan jo Lindtmanin nuoruusvuosien näytelmäkerhossa. Tapaninpäivän62107Jouluksi 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 syn371649Julkinen 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%. En2521422Yksikään persu ei ole saanut Nobelin palkintoa
Kertoo paljon persujen älyn puutteesta. Demareista mm. Ahtisaari on kyseisen palkinnon saanut.411391- 481331
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 lop3561274Miten 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ä tu811234