Excel load data row by id

poruka: 19
|
čitano: 6.651
|
moderatori: pirat, Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
odjavljen
offline
Excel load data row by id

Pozdrav, svima

 

Dakle trebam riješenje za jedan problem u Excelu. Radi se o sljedećem imam tablicu/sheet koji moze biti i externi. a sastoji se od uređenih polja, u obliku:

 

ID | Description | Price

 

Ono što ja trebam da u excel tablici koja će služiti za obračun da mi se prema columnu koji je definiran kao ID prema unesenom ID-u popuni polje Description i Price.

 

Da li je tako nešto moguće u Excelu, ili mi je jedino riješenje Desktop/web app u koji importam .xls ili CSV file?

 
0 0 hvala 0
15 godina
neaktivan
offline
Excel load data row by id

Za to koristiš funkciju VLOOKUP:

 

Primjer:

U ćeliji F2 je formula =IFERROR(VLOOKUP(E2;$A$2:$C$6;2;FALSE);"")

 

 

 

 
0 0 hvala 1
14 godina
odjavljen
offline
Re: Excel load data row by id
klimama kaže...

Za to koristiš funkciju VLOOKUP:

 

Primjer:

U ćeliji F2 je formula =IFERROR(VLOOKUP(E2;$A$2:$C$6;2;FALSE);"")

 

 

 

Hvala , klimama, koliko je to elegantno riješenje, pošto se radi o cca 900 zapisa?

 

Znači, ja u ćeliju unosim ID koji je u obliku xx xxx xx, i da Excel sam prema tomu "ulovi" vrijednost odnosno Description i Price ? Da li je moguće da to ulovi sa externog referentog fjala, koji je zapravo troškovnik?

15 godina
neaktivan
offline
Re: Excel load data row by id

Moguće je.

 

Ako su obje datoteke u istom folderu, onda formula u ćeliji F2 bude ovakva:

 

=IFERROR(VLOOKUP(E2;[troskovnik.xlsx]List1!$A$1:$C$6;2;FALSE);"")

 

troskovnik.xlsx je naziv datoteke iz koje se vuku podatci, a List1   je naziv radnog lista   (Sheet).

 

Ako nisu u istom folderu, onda dodaješ putanju u formulu.

Npr. ako je datoteka troskovnik u folderu troškovnik na disku D:

 

=IFERROR(VLOOKUP(E2;'D:\troškovnik\[troskovnik.xlsx]List1'!$A$1:$C$6;2;FALSE);"")

 

 

 

 

Poruka je uređivana zadnji put pet 18.5.2012 10:15 (klimama).
14 godina
odjavljen
offline
Re: Excel load data row by id
klimama kaže...

Moguće je.

 

Ako su obje datoteke u istom folderu, onda formula u ćeliji F2 bude ovakva:

 

=IFERROR(VLOOKUP(E2;[troskovnik.xlsx]List1!$A$1:$C$6;2;FALSE);"")

 

troskovnik.xlsx je naziv datoteke iz koje se vuku podatci, a List1   je naziv radnog lista   (Sheet).

 

Ako nisu u istom folderu, onda dodaješ putanju u formulu.

Npr. ako je datoteka troskovnik u folderu troškovnik na disku D:

 

=IFERROR(VLOOKUP(E2;'D:\troškovnik\[troskovnik.xlsx]List1'!$A$1:$C$6;2;FALSE);"")

 

 

 

 

 

 

Sad ću se ići pozabaviti time. Ja sam već htio .xls fajl prabacit u csv i upucat u SQL server i ići vuć to van sa queryijima {#}

14 godina
offline
Excel load data row by id

imam recimo vrijednost ST2, ST22, ST23, ST24 a u lookup tablici definirano da to pretvara u XYZ2, XYZ22, XYZ23, XYZ24.  Događa se to da provjeri samo ST2, tj. prve tri znamenke i sve vrijednosti pretvara u XYZ2 zanemarujući brojke na kraju:2,3,4...

Zašto?

Poruka je uređivana zadnji put pet 18.5.2012 10:50 (Ezio).
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: Excel load data row by id
Ezio kaže...

imam recimo vrijednost ST2, ST22, ST23, ST24 a u lookup tablici definirano da to pretvara u XYZ2, XYZ22, XYZ23, XYZ24.  Događa se to da provjeri samo ST2, tj. prve tri znamenke i sve vrijednosti pretvara u XYZ2 zanemarujući brojke na kraju:2,3,4...

Zašto?

kako izgleda formula?

16 godina
neaktivan
offline
Re: Excel load data row by id
alankish kaže...
klimama kaže...

Moguće je.

 

Ako su obje datoteke u istom folderu, onda formula u ćeliji F2 bude ovakva:

 

=IFERROR(VLOOKUP(E2;[troskovnik.xlsx]List1!$A$1:$C$6;2;FALSE);"")

 

troskovnik.xlsx je naziv datoteke iz koje se vuku podatci, a List1   je naziv radnog lista   (Sheet).

 

Ako nisu u istom folderu, onda dodaješ putanju u formulu.

Npr. ako je datoteka troskovnik u folderu troškovnik na disku D:

 

=IFERROR(VLOOKUP(E2;'D:\troškovnik\[troskovnik.xlsx]List1'!$A$1:$C$6;2;FALSE);"")

 

 

 

 

 

 

Sad ću se ići pozabaviti time. Ja sam već htio .xls fajl prabacit u csv i upucat u SQL server i ići vuć to van sa queryijima {#}

samo mala optimizacijska napomena. možeš koristiti funkciju ISNA umjesto ISERROR, jer je ISNA baš za VLOOKUP (VLOOKUP vraća isključivo NA grešku ukoliko nešto ne funkcionira). i lookup podaci mogu biti bilo gdje, ne samo u istom folderu, ali se onda mora paziti na to da se upiše cijela putanja do datoteke.

14 godina
offline
Re: Excel load data row by id
sasa kaže...
Ezio kaže...

imam recimo vrijednost ST2, ST22, ST23, ST24 a u lookup tablici definirano da to pretvara u XYZ2, XYZ22, XYZ23, XYZ24.  Događa se to da provjeri samo ST2, tj. prve tri znamenke i sve vrijednosti pretvara u XYZ2 zanemarujući brojke na kraju:2,3,4...

Zašto?

kako izgleda formula?

 

=VLOOKUP(N1;O:P;2)

Poruka je uređivana zadnji put pet 18.5.2012 11:29 (Ezio).
16 godina
neaktivan
offline
Re: Excel load data row by id

probaj ovu funkciju:

=REPLACE(LEFT(A1;2);1;2;"XYZ")&MID(A1;3;LEN(A1)-2)

 

a tu je i slika da vidiš kako to meni izgleda.

funkcija funkcija
14 godina
offline
Re: Excel load data row by id
sasa kaže...

probaj ovu funkciju:

=REPLACE(LEFT(A1;2);1;2;"XYZ")&MID(A1;3;LEN(A1)-2)

 

a tu je i slika da vidiš kako to meni izgleda.

 

ali to nije isto kao kad se koristi lookup table? ja bih bas htio imati lookup table kao sto zeli alankish ali sam skuzio da nakon što se spari početni niz znakova više ne provjerava. e sad jel se to može negdje namjestiti da provjeri cijeli niz znakova ili nema te mogucnosti?

inace ovakav konkretan slučaj najčešće mijenjam sa običnim edit-find-replace. ali htio bih nesto nauciti za ubuduce kad nemam takve slučajeve da se jedan unos mijenja u drugi sa konstantno istim prefiksom nego ima više varijacija i pomaže samo lookup table.

16 godina
neaktivan
offline
Re: Excel load data row by id
Ezio kaže...
sasa kaže...

probaj ovu funkciju:

=REPLACE(LEFT(A1;2);1;2;"XYZ")&MID(A1;3;LEN(A1)-2)

 

a tu je i slika da vidiš kako to meni izgleda.

 

ali to nije isto kao kad se koristi lookup table? ja bih bas htio imati lookup table kao sto zeli alankish ali sam skuzio da nakon što se spari početni niz znakova više ne provjerava. e sad jel se to može negdje namjestiti da provjeri cijeli niz znakova ili nema te mogucnosti?

inace ovakav konkretan slučaj najčešće mijenjam sa običnim edit-find-replace. ali htio bih nesto nauciti za ubuduce kad nemam takve slučajeve da se jedan unos mijenja u drugi sa konstantno istim prefiksom nego ima više varijacija i pomaže samo lookup table.

daj mi par redaka tablice pošalji na mail da mi je lakše na pravoj tablici nešto složiti. sigurno mogu riješiti.. ;)

14 godina
offline
Re: Excel load data row by id
sasa kaže...
Ezio kaže...
sasa kaže...

probaj ovu funkciju:

=REPLACE(LEFT(A1;2);1;2;"XYZ")&MID(A1;3;LEN(A1)-2)

 

a tu je i slika da vidiš kako to meni izgleda.

 

ali to nije isto kao kad se koristi lookup table? ja bih bas htio imati lookup table kao sto zeli alankish ali sam skuzio da nakon što se spari početni niz znakova više ne provjerava. e sad jel se to može negdje namjestiti da provjeri cijeli niz znakova ili nema te mogucnosti?

inace ovakav konkretan slučaj najčešće mijenjam sa običnim edit-find-replace. ali htio bih nesto nauciti za ubuduce kad nemam takve slučajeve da se jedan unos mijenja u drugi sa konstantno istim prefiksom nego ima više varijacija i pomaže samo lookup table.

daj mi par redaka tablice pošalji na mail da mi je lakše na pravoj tablici nešto složiti. sigurno mogu riješiti.. ;)

ma neću te gnjaviti kad nije to nešto što mi trenutno treba nego me samo zanima kako radi.

14 godina
odjavljen
offline
Excel load data row by id

Ovo radi. Drugo pitanje je ID mi je u obliku _x_x___x , znaci od brojeva koji su odvojeni razmakom, odnosno znak _ ovdje da bude slikovito predstavlja razmak. Bitno mi je da VLOOKUP prepoznaje u bilo kojem obliku uneseni ID, odnosno x_x_x. Pokušao sam sa TRIM funkcijom ali ne polučuje željeni rezultat.

 
0 0 hvala 0
14 godina
odjavljen
offline
Excel load data row by id

Strimao sam ID-ove tako da su u obliku x_x_x, a i bolje da su razmaci tako da ne dođe do zabune, jer mi prve dvije znamenke označavaju grupni identifikator.

Ono što sad pokušavam je sljedeće, prvo da provjeri ID, ako je krivi da u čeliju ispiše grešku i to radi super. Sljedi KOD:

 

=IF(ISNA(VLOOKUP(B11;LV!A2:D1025;2;FALSE));"Molimo unesite točan pozicijski broj";VLOOKUP(B11;LV!A2:D1025;2;FALSE))

 

 

Sad bi htio da u slučaju da je čelija prazna ne piše ništa, jer sam formulu iskopirao u sve redove, pa mi onda za prazne ID-ove piše "Molimo unesite točan pozicijski broj". To sam shvatio da mogu sa funkcijom ISBLANK, ali ovo nestanje funkcija u Excelu mi baš neide, pa ako je netko voljan pomoći, bio bih zahvalan.

 
0 0 hvala 0
14 godina
odjavljen
offline
Re: Excel load data row by id
sasa kaže...

samo mala optimizacijska napomena. možeš koristiti funkciju ISNA umjesto ISERROR, jer je ISNA baš za VLOOKUP (VLOOKUP vraća isključivo NA grešku ukoliko nešto ne funkcionira). i lookup podaci mogu biti bilo gdje, ne samo u istom folderu, ali se onda mora paziti na to da se upiše cijela putanja do datoteke.

Hm, slazem se sa ovim i upotrijebio sam ISNA funkciju, da li  to vrijedi samo za Value not avaliable, #N/A grešku? Jer ja pokušavam uloviti i #N/A grešku, ali i praznu celiju sa ISBLANK funcijom.

16 godina
neaktivan
offline
Re: Excel load data row by id

ako želiš sa IF nešto ispisati u ćeliju onda koristiš (kao što znaš):

=if(uvjet;"nešto";"nešto drugo")

 

ako ne želiš imati ovaj "nešto" onda samo staviš navodnike ""

=if(uvjet;"";"nešto drugo")

 

ok, ovo onda nije skroz prazna ćelija, ali barem nema ništa vidljivo unutra. ako probaš provjeriti sa isblank dobiti češ false.

jedino kroz custom funkciju možeš napraviti neku funkciju koja ostavlja praznu ćeliju (trebaš VBA).

javi ako trebaš pomoć.

16 godina
neaktivan
offline
Re: Excel load data row by id

da, ISNA lovi samo N/A grešku.

ukoliko ti nije važno koja je greška ond aje najjednostavnije koristiti iserror jer ona lovi sve greške. funkcija iserr lovi sve osim isna, itd...

14 godina
odjavljen
offline
Re: Excel load data row by id
sasa kaže...

ako želiš sa IF nešto ispisati u ćeliju onda koristiš (kao što znaš):

=if(uvjet;"nešto";"nešto drugo")

 

ako ne želiš imati ovaj "nešto" onda samo staviš navodnike ""

=if(uvjet;"";"nešto drugo")

 

ok, ovo onda nije skroz prazna ćelija, ali barem nema ništa vidljivo unutra. ako probaš provjeriti sa isblank dobiti češ false.

jedino kroz custom funkciju možeš napraviti neku funkciju koja ostavlja praznu ćeliju (trebaš VBA).

javi ako trebaš pomoć.

Brijem da mogu samo s ugrađenim funkcijama riješit taj problem, jer nisam doma sa VBA. Sadržaj čelije je prazan, odnosno nutra se nalazi samo formula, a trenutno bez upisanog ID-a mi lovi N/A error.

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice