IZLOČEVANJE ZNAKOV IZ CELICE
IZLOČEVANJE ZNAKOV IZ CELICE
Pozdravljeni vsi,
že nekaj časa se mučim s problemom, kako recimo iz celice, ki vsebuje več znakov izločiti samo dva. Konkretno: imam šifro izdelka, ki je desetmestna (recimo:0112315012 ), kjer seveda vsak znak pomeni določeno lastnost - zadnja dva znaka (12) pomenita barvo. Poskusila sem s funkcijo RIGHT, pa mi ne gre, saj dobim rezultat 0, namesto 00. Potem sem poskusila z m.dodatki, pa mi tudi ne gre in tako ugotovila, da v takšni obliki vidim samo jaz, v resnici pa to (v ozadju) izgleda nekako takole "0112315012 ", kar sem ugotovila tudi s funkcijo LEN, da je v resnici 20 znakov. V opombi mi piše, da je številka v tej celici oblikovana kot besedilo, ali pa se začne z opuščajem. Če z m.dodatki pobrišem opuščaje, mi pobriše tudi začetno ničlo. Moja naloga je: vsem izdelkom določiti barvo, glede na šifro. Do sedaj sem se posluževala funkcije VLOOKUP, kar mi sicer v redu deluje, ampak šifrant ni stalen, oziroma se vsak mesec povečuje, potem pa mi zopet manjkajo podatki za veliko izdelkov. Če ukažem filtru ( besedilnemu), naj mi pokaže samo tiste,ki se končujejo z 00, 01, 19 itd, mi vse deluje, ampak je stvar zelo počasna. Upam, da sem bila dovolj jasna. Skratka najprej želim izločiti "zadnji " dve mesti šifre , potem pa s funkcijo IF in AND določiti vse barve, vendar bi tudi za to vljudno prosila pomoč - nekako v stilu, če se konča z 00, je naravno rdeča, če se konča z 10, je rdeča...itd. LP vsem
že nekaj časa se mučim s problemom, kako recimo iz celice, ki vsebuje več znakov izločiti samo dva. Konkretno: imam šifro izdelka, ki je desetmestna (recimo:0112315012 ), kjer seveda vsak znak pomeni določeno lastnost - zadnja dva znaka (12) pomenita barvo. Poskusila sem s funkcijo RIGHT, pa mi ne gre, saj dobim rezultat 0, namesto 00. Potem sem poskusila z m.dodatki, pa mi tudi ne gre in tako ugotovila, da v takšni obliki vidim samo jaz, v resnici pa to (v ozadju) izgleda nekako takole "0112315012 ", kar sem ugotovila tudi s funkcijo LEN, da je v resnici 20 znakov. V opombi mi piše, da je številka v tej celici oblikovana kot besedilo, ali pa se začne z opuščajem. Če z m.dodatki pobrišem opuščaje, mi pobriše tudi začetno ničlo. Moja naloga je: vsem izdelkom določiti barvo, glede na šifro. Do sedaj sem se posluževala funkcije VLOOKUP, kar mi sicer v redu deluje, ampak šifrant ni stalen, oziroma se vsak mesec povečuje, potem pa mi zopet manjkajo podatki za veliko izdelkov. Če ukažem filtru ( besedilnemu), naj mi pokaže samo tiste,ki se končujejo z 00, 01, 19 itd, mi vse deluje, ampak je stvar zelo počasna. Upam, da sem bila dovolj jasna. Skratka najprej želim izločiti "zadnji " dve mesti šifre , potem pa s funkcijo IF in AND določiti vse barve, vendar bi tudi za to vljudno prosila pomoč - nekako v stilu, če se konča z 00, je naravno rdeča, če se konča z 10, je rdeča...itd. LP vsem
Torej, kot sami pravite - najprej elpo po vrsti...
Zadnja dva znaka dobite, tako, kot ste sami že pravilno ugotovili:
Nadalje pa vas ne razumem najbolje, zakaj bi vam Excel tako ne vrnil zadnjih dveh znakov. Pišete, da je dolžina teksta v celici 20 znakov, kar mi daje sklepati, da se na koncu pač nahajajo presledki ali nenatisljivi znaki. Če je temu res tako, morate pred rezanjem znakov takšen niz torej "očistiti" presledkov in nenatsijivih znakov, kar storite takole:
Če torej to združite obite takšno formulo:
Ali ste sedaj dobili pravilna zadnja dva znaka?
Zadnja dva znaka dobite, tako, kot ste sami že pravilno ugotovili:
Koda: Izberi vse
=RIGHT(A1;2)
Koda: Izberi vse
=CLEAN(A1) - pobriše vse nenatisljive znake
=TRIM(A1) - pobriše vse ovečne presledke na začetku in na koncu
Koda: Izberi vse
=RIGHT(TRIM(CLEAN(A1));2)
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
IZLOČEVANJE ZNAKOV IZ CELICE
Pozdravljen Matjaž,
to je to, kar sem želela. Najlepša hvala. Zanima pa me, ali moram sedaj ta rezultat skopirati in dati posebno lepljenje - vrednosti, ali moram spremeniti v besedilo, da bom potem lahko vstavila v naslednji stolpec formulo, za katero bi vas prosila, če mi lahko daste kakšen namig - v stilu IF(B2=00;naravno rdeč;AND(IF(B2=10;rdeč.....), saj se sama trudim, pa mi te vgnezdene formule delajo težave.
Lep pozdrav Lidija
to je to, kar sem želela. Najlepša hvala. Zanima pa me, ali moram sedaj ta rezultat skopirati in dati posebno lepljenje - vrednosti, ali moram spremeniti v besedilo, da bom potem lahko vstavila v naslednji stolpec formulo, za katero bi vas prosila, če mi lahko daste kakšen namig - v stilu IF(B2=00;naravno rdeč;AND(IF(B2=10;rdeč.....), saj se sama trudim, pa mi te vgnezdene formule delajo težave.
Lep pozdrav Lidija
Nadalje pa ste se naloge lotili povsem pravilno - iskati morate s funkcijo VLOOKUP. Kot ste ugotovili pa imate s slednjo probleme zato ker imate malce "butast" šifrant a na to vi zagotovo nimate vpliva. "00" lahko excel bere kot "00", ali pa kot 0 in zato imate s VLOOKUP funkcijo probleme. Znajdite se tako, da šifrant priredite tako, da ključ popravite in mu spredaj dodate npr. črko X:
Seveda novo šifro dobite preprosto kot
In potem v Lookup funkciji pač iščete z popavljeno formulo kot:
To je prava pot do rešitve!
Koda: Izberi vse
šifra nova š. barva
00 X00 rdeča
01 X01 modra
02 X02 zelena
Koda: Izberi vse
="X"&A1
Koda: Izberi vse
=VLOOKUP("X"&RIGHT(TRIM(CLEAN(H1));2); .....)
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Pozdravljen Matjaž
to je pa res genialna in hkrati preprosta rešitev. Sama sem stvar preveč zakomplicirala, ker sem hotela uporabiti vgnezdene funkcije. Res najlepša hvala za pomoč.
Lep pozdrav Lidija
PS: Sedaj bom poskušala iz šifre izvleči še druge podatke, npr. vrsto izdelka. Upam, da mi bo uspelo, če ne, pa vas ponovno prosim za pomoč.
to je pa res genialna in hkrati preprosta rešitev. Sama sem stvar preveč zakomplicirala, ker sem hotela uporabiti vgnezdene funkcije. Res najlepša hvala za pomoč.
Lep pozdrav Lidija
PS: Sedaj bom poskušala iz šifre izvleči še druge podatke, npr. vrsto izdelka. Upam, da mi bo uspelo, če ne, pa vas ponovno prosim za pomoč.
Pozdravljen Matjaž,
komaj ste mi rešili en problem, sem že takoj naletela na drugega z isto temo. Ko si podatke prenesem iz drugega programa v excel, so datumi videti v taki obliki: 9.4.2009 00:00:00. Rada bi pobrisala te ničle na koncu, pa mi ne uspe. Če bi bil datum v obliki dd.mm.yyyy, bi uporabila funkcijo LEFT(C2;10), ali pa bi jih pobrisala z mDodatki. Sedaj pa Vas prosim, če je mogoče tudi za to kakšna rešitev. Sedaj zožim stolpec, da ni videti taka klobasa....
Lep pozdrtav Lidija
komaj ste mi rešili en problem, sem že takoj naletela na drugega z isto temo. Ko si podatke prenesem iz drugega programa v excel, so datumi videti v taki obliki: 9.4.2009 00:00:00. Rada bi pobrisala te ničle na koncu, pa mi ne uspe. Če bi bil datum v obliki dd.mm.yyyy, bi uporabila funkcijo LEFT(C2;10), ali pa bi jih pobrisala z mDodatki. Sedaj pa Vas prosim, če je mogoče tudi za to kakšna rešitev. Sedaj zožim stolpec, da ni videti taka klobasa....
Lep pozdrtav Lidija
Saj če so v takšni obliki, potem so to že datumi samo prikazan imajo zraven tudi čas. Izberite Oblika/Celice in tam izberite pač ustrezno obliko datuma.
Toda pozor, ker je to datum, posameznih elementov ne morete dobiti ven s funkcijami LEFT, RIGHT oz. MID, temveč z
Toda pozor, ker je to datum, posameznih elementov ne morete dobiti ven s funkcijami LEFT, RIGHT oz. MID, temveč z
Koda: Izberi vse
=DAY(A1) - dan
=MONTH(A1) - mesec
=YEAR(A1) - leto
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Hm... Kodo pač vstavite tam, kjer jo potrebujete... Torej vaš problem je bil sledeč (kolikor ga jaz razumem)
- Oblika zapisa ni ustrezala, saj so bile na koncu ničle, ki jih niste želeli
- Posameznih elementov datuma niste mogli dobiti ven, ker vam Left funkcija ni pravilno delovala
- Obliko zapisa spremenite na enem mestu in ničle bodo izginile
- Posameznih elementov datuma ne morete dobiti s funkcijami za nize (LEFT, RIGHT...), temveč s funkcijami za datume (opisanimi zgoraj)..
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Pozdravljeni,
se opravičujem, ker sem bila premalo jasna, ali pa vse skupaj preveč zakompliciram. Hotela sem imeti samo datum v obliki dd.mm.yyyy brez tistih ničel (čas) na koncu celice, ne posameznih elementov datuma. Uspelo pa mi je tako, da sem- po vašem nasvetu - spremenila obliko celice - v datum, potem sem vstavila stolpec D in vanj funkcijo =TEXT(C2;"dd.mm.yyyy").
Še enkrat hvala lepa in lep pozdrav
Lidija
se opravičujem, ker sem bila premalo jasna, ali pa vse skupaj preveč zakompliciram. Hotela sem imeti samo datum v obliki dd.mm.yyyy brez tistih ničel (čas) na koncu celice, ne posameznih elementov datuma. Uspelo pa mi je tako, da sem- po vašem nasvetu - spremenila obliko celice - v datum, potem sem vstavila stolpec D in vanj funkcijo =TEXT(C2;"dd.mm.yyyy").
Še enkrat hvala lepa in lep pozdrav
Lidija