IZLOČEVANJE ZNAKOV IZ CELICE

Pomoč pri delu z MS Excelom
Odgovori
LIDIJA
Prispevkov: 27
Pridružen: Ne Dec 10, 2006 10:47 pm

IZLOČEVANJE ZNAKOV IZ CELICE

Odgovor Napisal/-a LIDIJA »

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
admin
Site Admin
Prispevkov: 3712
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Torej, kot sami pravite - najprej elpo po vrsti...

Zadnja dva znaka dobite, tako, kot ste sami že pravilno ugotovili:

Koda: Izberi vse

=RIGHT(A1;2)
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:

Koda: Izberi vse

=CLEAN(A1)    - pobriše vse nenatisljive znake
=TRIM(A1)     - pobriše vse ovečne presledke na začetku in na koncu
Če torej to združite obite takšno formulo:

Koda: Izberi vse

=RIGHT(TRIM(CLEAN(A1));2)
Ali ste sedaj dobili pravilna zadnja dva znaka?
lp,
Matjaž Prtenjak
Administrator
LIDIJA
Prispevkov: 27
Pridružen: Ne Dec 10, 2006 10:47 pm

IZLOČEVANJE ZNAKOV IZ CELICE

Odgovor Napisal/-a LIDIJA »

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
admin
Site Admin
Prispevkov: 3712
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

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:

Koda: Izberi vse

šifra  nova š.   barva
00     X00       rdeča
01     X01       modra
02     X02       zelena 
Seveda novo šifro dobite preprosto kot

Koda: Izberi vse

="X"&A1
In potem v Lookup funkciji pač iščete z popavljeno formulo kot:

Koda: Izberi vse

=VLOOKUP("X"&RIGHT(TRIM(CLEAN(H1));2); .....)
To je prava pot do rešitve!
lp,
Matjaž Prtenjak
Administrator
LIDIJA
Prispevkov: 27
Pridružen: Ne Dec 10, 2006 10:47 pm

Odgovor Napisal/-a LIDIJA »

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č.
LIDIJA
Prispevkov: 27
Pridružen: Ne Dec 10, 2006 10:47 pm

Odgovor Napisal/-a LIDIJA »

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
admin
Site Admin
Prispevkov: 3712
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

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

Koda: Izberi vse

=DAY(A1)     - dan 
=MONTH(A1)   - mesec
=YEAR(A1)    - leto
lp,
Matjaž Prtenjak
Administrator
LIDIJA
Prispevkov: 27
Pridružen: Ne Dec 10, 2006 10:47 pm

Odgovor Napisal/-a LIDIJA »

Pozdravljen Matjaž,

se opravičujem, sedaj pa mi je malo nerodno, ker ne vem, kam vstaviti to kodo. Ali moram vstaviti 3 stolpce in jih potem združiti?
:oops:

LP Lidija
admin
Site Admin
Prispevkov: 3712
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

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
Odgovoril pa sem vam
  • 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)..
Torej MONTH(a1) pač uporabite tam, kjer ste prej želeli imeti mesec ki ste ga mislili dobiti s funkcijo MID(A1, 4, 2). Itd...
lp,
Matjaž Prtenjak
Administrator
LIDIJA
Prispevkov: 27
Pridružen: Ne Dec 10, 2006 10:47 pm

Odgovor Napisal/-a LIDIJA »

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
Odgovori