Onko keinoa jolla etsisi solun oikealta vasemmalle eli jos on teksti
/moi/terve
Eli osaisi etsiä tuon jälkimmäisen / -merkin ja palauttaisi kuinka mones merkki se on
/moi/terve
Eli osaisi etsiä tuon jälkimmäisen / -merkin ja palauttaisi kuinka mones merkki se on
Vastaukset 35
Vanhimmat
Exceli on vähän kökkö tuossa oikealta hakemisessa. Siistein tapa on kyhätä oma funktio VBA:lla, mutta jos funktiohirvitys solussa ei haittaa, niin saa haun toteutettua valmiilla funktiollakin.
Eli jos A1:ssä on se merkkijono mitä tutkitaan, niin ao. funktiosetti palauttaa viimeisen "/"-merkin sijainnin.
=FIND("~";SUBSTITUTE(A1;"/";"~";LEN(A1)-LEN(SUBSTITUTE(A1;"/";""))))
Turhan monimutkaista...
soluun kaava
=ETSI("/";A1;2)
monimutkaisempiin sitten VBA
ja iellä esim . SPLIT, LIKE jne
Keep EXCELing
@Kunde
Väärä vastaus. Tuo ei "etsi oikealta". Kokeile funktiotasi vaikka merkkijonolla
/moi/terve/Mikä/on/moi/Mitä/tarkoittaa/moi
Aloittaja kysyi /moi/terve
ja vastasin siihen...
tossa VBA käyttäjän funktioita
soluun kaavat
=EtsiOikealta(A1;"/")
=EtsiOikealta2(A1;"/")
=EtsiOikealta3(A1;"/")
Function EtsiOikealta(solu As Range, Merkki As String) As Integer
EtsiOikealta = Len(solu) - InStr(1, StrReverse(solu), Merkki) 1
End Function
Function EtsiOikealta2(solu As Range, Merkki As String) As Integer
EtsiOikealta2 = InStrRev(solu, Merkki)
End Function
Function EtsiOikealta3(solu As Range, Merkki As String) As Integer
'helposti vaikkapa toka vika esiintymä...
x = InStrRev(solu, Merkki)
EtsiOikealta3 = InStrRev(solu, Merkki, x - 1)
End Function
Keep EXCELing
@Kunde
Aloittaja kysyi miten etsitään oikealta, ei miten etsitään vasemmalta jonkun indeksin jälkeen, johon tarjosit kommentissasi ratkaisua. Näkeehän jo puusilmäkin, että kyseessä on viides merkki. Ei siihen tarvita edes funktiota.
VBA-räpellyksesi lähinnä huvittavat, kun et kykene antamaan täsmällistä vastausta aloittajan kysymykseen. Vaikutat olevasi melkoinen amatööri mitä tulee Exceliin.
Jatka poika siis opettelua.
Pistä minun amatöörin VBA koodit paremmaksi jos osaat ja nuo 3 antaa täsmälliset vastaukset .
Luulen, että vajaat 20 v tänne ratkaisuja postanneena olen amatööriä paremmin perillä asioista.
Ennen ei ollut tommosia tyhjän paskan jauhajia vaan asiallisia postauksia
Nykyäänhän täällä viime vuosina on vain näitä anonyymi trollaajia, jotka eivät pysty muuhun kuin vittuilemaan eikä vastaamaan kyssäreihin ja sepeävät muihin ohjelmiin jne..
" etsisi solun oikealta vasemmalle"
Sulla on lukihäiriö..
"Luulen, että vajaat 20 v tänne ratkaisuja postanneena olen amatööriä paremmin perillä asioista."
Niinhän sitä luulisi, mutta kun et ole, ja sillä selvä. Joillakin ei 20 vuottakaan riitä.
Se on aivan sama vaikka olisit 100 vuotta postannut roskaasi, kun et osaa vastata kysymykseen. Tietysti kun on lusikalla annettu, niin ei voi ämpärillä vaatia.
" etsisi solun oikealta vasemmalle"
Taidat olla itse lukihäiriöinen häirikkö.
Säälittävää, että ennen tämäkin oli asialinen ketju, mutta nykyään kaltaistesi osaamattomien naljailu ja vittuilu ketju ja et pysty muuta apua antamaan kuin vittuilua
Esitä jotain kaavoja /kaavoja ratkaisuksi, äläkä vaan vittuile.
Mikä on pointtisi vittuilulle(eli et osaakaan EXCELiä)?
Alla oleva etsii OIKEALTA VASEMMALLE ja yritäpäs tehdä se fiksummin (toki kun et ymmärrä koodista mitään, tehtävä mahdoton ja vittuillet lisää sitten)...
Function EtsiOikealta2(solu As Range, Merkki As String) As Integer
EtsiOikealta2 = InStrRev(solu, Merkki)
End Function
Kunde. Tuo kommenttini lukihäiriöstä oli tarkoitettu tuolle toiselle henkilölle. Älä välitä noista kiukustumisista. Tänä päivänä moni kokee ahdistusta ja se joskus purkautuu kiusaamisena. Kiitos sinulle monen excel-ongelman ratkaisuista.
Avaaja ei mitään osaa!
Ensimmäisessä kommentissa on oikea vastaus. Loppuosa ketjusta on täyttä soopaa.
" etsisi solun oikealta vasemmalle"
Etkä osaa lukeakaan enää?
Esitä nyt ihmeessä fiksumpi kaava soluun kuin =EtsiOikealta2(A1;"/")
Function EtsiOikealta2(solu As Range, Merkki As String) As Integer
EtsiOikealta2 = InStrRev(solu, Merkki)
End Function
Annettiin ratkaisu Excelin omia kaavoja käyttämällä, eikä mitään omia räpellyksiä esittämällä. Sinähän annoit aivan väärän vastauksen heti alkuun.
Ja ainoassa kunnollisessa kommentissa tässä ketjussa oli jo mainittu, että halutessaan saa viritellä omia VBA-funktiotakin.
Turhaan siis kiukuttelet ja poljet jalkaa. Yritit päteä, mutta teit itsestäsi vain pellen.
Sinulla on huonoissa kantimissa tuo merkkijonojen käsittely, fiksu ei olisi lähtenyt vänkäämällä antamaan mielikuvaa osaavasta vaan myöntänyt osaamattomuutensa ja luvannut asian korjaantuvan.
Ilmeisesti et ole koskaan tehnyt Exelillä mitään järkevää, etkä osaa ratkaista ongelmia yleisellä tasolla.
Minäkin ratkaisin ongelman näin, joku toinen oli nopeampi.
soluun =Rfind(A1,"/")
Function Rfind(Teksti, Merkki) As Integer
Rfind = InStrRev(Teksti, Merkki)
End Function
Itse_opiskellut_amatööri
Älä nyt enempää itseäsi tee pelleksi, turpojuntti. Mokasit heti alkumetreillä, eikä se moka selittämällä enää korjaudu.
Oli minun ensimmäinen kommentti mutta näköjään osui.
Yritä nyt vielä selitellä. Näyttäisi muutenkin mennen ketju sinun yksinpuheluksi.
Näyttää olevan vaikeaa...
Näyttää ottavan koville, kun antoi ensin vääriä neuvoja, joista huomautettiin. Kaiva vaan kuoppaasi...
07.04.2022 16:02
08.04.2022 09:44
08.04.2022 13:34
Nämä ovat aiemmat kommentit ja eilinen, joka on poistettu.
Pidätköhän kaikkia Anonyymejä vain yhtenä henkilönä?
Tästä ketjusta käy hyvin selville se tosiasia ettei Exceliä koskeviin kysymyksiin muut ole kehanneet osallistua, vaikka on nähty tämän yhden kaverin syöttävän mitä sattuun tietoa.
Onneksi nyt on ainakin yksi niin kovanahkainen tullut mukaan että Excel ketjuihinkin tullaan jatkossa saamaan oikeita vastauksia.
Kannattaa varautua siihen että tämä vanha tulee tekemään kaiken mahdollisen kiusan tulokkaalle, vaikka hakemalla verkosta hankalia kysymyksiä joihin ei yksiselitteistä vastausta ole olemassa tai mollaamalla annettuja vastauksia anonyymisti tai nostaa itseään korokkeelle olevinaan ulkopulisena kuinka ennen vanhaan tälläkin palstalla mukana oli asiantuntija.
Näissä Excel kysymyksissä ei ole ollut asiantutijaa tähän mennessä, on vain ollut öykkäri joka ei ole antanut tilaa muille.
Ja vielä tuosta "turpojuntti" haukkumisesta, joka se taas tekee anonyyminä, sillä tämä öykkäri varmaan tarkoittaa minua, kun olen 2 tai kolme kertaa mennyt oikomaan sen huhaa vastauksia, ja tarjonnut tilalle oikeaa.
Toistan jo tuolla alussa antamani neuvon öykkärille.
======================================
Sinulla on huonoissa kantimissa tuo merkkijonojen käsittely, fiksu ei olisi lähtenyt vänkäämällä antamaan mielikuvaa osaavasta vaan myöntänyt osaamattomuutensa ja luvannut asian korjaantuvan.
======================================
Se joka itsensä ylentää tullaan alentamaan, oli joku sananlaskukin olemassa.
Mitenkä se nyt näin pahasti osui?
Löysää pipoa tai hommaa pari numeroa suurempi.
En ymmärrä mitä tuolla tarkoitat, minähän vain oikaisin taas kerran sinun luulottelujasi ettei heittämäsi loka menisi väärään osoitteeseen, vai pitääkö olettaa että haukut kaikkia "turpojuntti" haukkumanimellä, jotka oikovat vääriä ohjeitasi.
Kuinka syvälle ajattelit itsesi kaivaa?
Palstalla huomattiin, että mokasit. Mutta et mokaasi saa selittämällä korjattua. Sitä yrittäessäsi kaivaudut vain syvemmälle.
Sinun on hyväksyttävä hölmöilysi. Fiksumpi menisi nuolemaan haavojansa.
Tällä sinä ja sinun kaltaiset sanovat mitä sattuu ja kenelle sattuu, en ole voinut mokata koska itse asiaan en ole vielä kerinnyt ottamaan kantaa päätin vain helpottaa kaveria ettei mieltään pahoita sinun ja kaltaistesi vuoksi.
Olet melkoinen komediahahmo. Neuvot päin helvettiä, ja vielä kehut samalla "auttavasi".
Meinaatko Kiinaan asti itsesi kaivaa?
Oletko hullu?
Kysyit itseltäsi peilin edessä?
Mene hoitoon!
Ja tuonkin lausuit peilin edessä?