PC Ekspert Forum

PC Ekspert Forum (https://forum.pcekspert.com/index.php)
-   Aplikacije (https://forum.pcekspert.com/forumdisplay.php?f=37)
-   -   Libreoffice formule (https://forum.pcekspert.com/showthread.php?t=276864)

tomek@vz 28.02.2016. 07:46

Libreoffice formule
 
Trebam pomoć oko kreiranja formule za OpenOffice/LibreOffice. Situacija je slijedeća:

1. Sheet 1 sadrži 3 kolone od kojih kolona A sadrži brojčane oznake koje su bitne
2. U A kolonu Sheet 2 stavljam nove brojčane vrijednosti.

Ono što me zanima kako da riješim formulu koja će uspoređivat kolonu A u oba sheeta i označiti one stavke koje postoje u Sheet 1 i Sheet 2. U Excellu imam već to riješeno na način da imam kolonu 4 na sheet 1 i ubačenu formulu:

Code:

=NOT(ISERROR(MATCH(A2;Sheet2!A:A;0)))
Ona je uvrštena u 4-u kolonu na Sheet 1 i u tom retku mi izbaci True/False. To isto bih trebao za Libreoffice.

Mikeyy 28.02.2016. 19:25

Vjerojatno s istom formulom. Pitanje je samo imaš li noviju inačicu LO. Mislim da isto možeš i preko vlookup.

tomek@vz 29.02.2016. 07:48

Citiraj:

Autor Mikeyy (Post 2896852)
Vjerojatno s istom formulom. Pitanje je samo imaš li noviju inačicu LO. Mislim da isto možeš i preko vlookup.

Iz nekog razloga stvar ne radi, formula se korumpira i stvar ne radi. Čitao sam o vlookup opciji al iskreno ne kužim se u toj mjeri da to napravim da šljaka jer u zadnja 2 tjedna svi pokušaji sveli su se na fail....

https://wiki.openoffice.org/wiki/Doc...s_to_find_data

Mikeyy 29.02.2016. 09:04

Ova tvoja formula sadrži A:A što bi značilo cijeli A stupac. Starije LO inačice to ne podržavaju, mislim da je podrška dodana u 5.0 ili 5.1.
Probaj istu formulu ali s npr A1:A10000. Također zaključaj ćelije da se ne pomiču dok vučeš formulu.

Vlookup ti vraća vrijednost iz tog reda. Teoretski ovako nešto IF (ISERROR (VLOOKUP ());"FALSE";"TRUE")

Napamet pišem ali tako nekako, samo ubaciš potpunu vlookup formulu.

IvanVk 29.02.2016. 09:56

Citiraj:

Autor tomek@vz (Post 2896562)
Ona je uvrštena u 4-u kolonu na Sheet 1 i u tom retku mi izbaci True/False. To isto bih trebao za Libreoffice.

Probaj koristiti slijedeću formulu kao što je @Mikeyy naglasio (iako bi ja stavio prazno "" umjesto FALSE)
Code:

=IF(ISERROR(VLOOKUP(A2;Sheet2!$A$2:$A$25;1;FALSE));FALSE;TRUE)
ili ovu formulu
Code:

=IF((ISERROR(MATCH(A2;Sheet2!$A$2:$A$25;0)));FALSE;TRUE)

tomek@vz 29.02.2016. 10:56

Citiraj:

Autor Mikeyy (Post 2897021)
Ova tvoja formula sadrži A:A što bi značilo cijeli A stupac. Starije LO inačice to ne podržavaju, mislim da je podrška dodana u 5.0 ili 5.1.
Probaj istu formulu ali s npr A1:A10000. Također zaključaj ćelije da se ne pomiču dok vučeš formulu.

Koristim 5.1.

Citiraj:

Autor IvanVk (Post 2897045)
Probaj koristiti slijedeću formulu kao što je @Mikeyy naglasio (iako bi ja stavio prazno "" umjesto FALSE)
Code:

=IF(ISERROR(VLOOKUP(A2;Sheet2!$A$2:$A$25;1;FALSE));FALSE;TRUE)
ili ovu formulu
Code:

=IF((ISERROR(MATCH(A2;Sheet2!$A$2:$A$25;0)));FALSE;TRUE)

Ne pomaže. Obje formule izbacuju samo #NAME grešku a druga opcija bez FALSE dakle:

Code:

=IF(ISERROR(VLOOKUP(A2;Sheet2!$A$2:$A$25;1;FALSE));;TRUE)
Izbacuje samo False...

Mikeyy 29.02.2016. 11:26

Na mobitelu sam, ne mogu testirati. Večeras ili sutra kada dođem do računala probam. Mislim da je to to, ali vjerojatno negdje imaš sitnu grešku u pisanju formule ali je ne vidim ovako.

IvanVk 29.02.2016. 23:31

Citiraj:

Autor tomek@vz (Post 2897070)
Ne pomaže. Obje formule izbacuju samo #NAME grešku a druga opcija bez FALSE.

Što da kažem, evo SS
http://s29.postimg.org/yu9k4u0xv/image.jpg

Mikeyy 01.03.2016. 07:38

1 privitaka
Stavio sam u ZIP jer ne mogu ods dići gore.

tomek@vz 01.03.2016. 08:13

Hm thanks na ovome skužio sam kaj zeza. Naime - ako je na oba sheeta isti broj stavki onda je OK. Ako je u sheetu 1 recimo 100 stavki a u sheetu 2 samo 15 (dakle ne 100) onda formule ne šljakaju. Na sheetu 2 nikad nebude tolko stavki kolko na sheetu 1. Mogu zaobići to na način da polupam 0 u sve ostale redove al to mi baš nije praktično iz više razloga. Kako da se navede da uspoređuje sadržaj stupaca čak i ako na sheet 2 stupac A je jedan dio bez vrijednosti?

Mikeyy 01.03.2016. 08:51

Broj stavki po listovima ti sigurno nije problem. MATCH i VLOOKUP uvijek sve pretražuju ispočetka do kraja.
Probaj na mojoj tablici obrisati pola podataka na drugom listu i vidjet ćeš da radi.

Moraš prvo shvatiti formule.

VLOOKUP uspoređuje podatak s prvog lista, s rasponom na drugom listu. Ukoliko nađe podudaranje, vraća iz tog reda neki stupac, po tvojoj želji.
Ukoliko se desi da na drugom listu imaš taj podatak koji uspoređuješ u više redova, e onda si u problemu, pošto ti VLOOKUP vraća samo prvi na koji naiđe.
Rasponi na obje tablice ne moraju biti isti, samo bi bilo dobro da su podaci po kojima ih uspoređuje unikatni, tj. da se ne ponavljaju.

Ja sam raspone u formulama odredi na knap, ti bi trebao to proširiti tipa na $A$1:$A$50000 tako da ti obuhvati sve podatke i u budućnosti koje budeš unosio.
Pazi samo kada uklanjaš cijeli red u tablici, odmah ti mijenja formule i smanjuje raspon. Može se i to zaobići, ali da sada ne kompliciramo.

P.S. #NAME grešku ti je izbacivao zato što LO iz nekog razloga ne prepoznaje TRUE / FALSE kao logički odgovor nego smatra da je tekst, a tekst ne može ići bez navodnika.

IvanVk 01.03.2016. 09:29

Dinamična tablica ili raspon podataka u Excelu
 
Citiraj:

Autor tomek@vz (Post 2897467)
Kako da se navede da uspoređuje sadržaj stupaca čak i ako na sheet 2 stupac A je jedan dio bez vrijednosti?

Nisam nikada radio sa LibreO no možda pomogne.

Ako ti ne pomogne ono što je savjetovao @Mikeyy tada probaj slijedeće

U Excelu postoji mogućnost kreiranja Table1, Table2 ...
Dakle nije raspon ćelija, već tablica koja se dodavanjem nove vrijednosti ispod automatski proširuje.

Probaj postaviti na Sheet2 jednu takvu tablicu (npr u A2:A10)
Na Sheet1 postavi formulu
=IF((ISERROR(MATCH(A2;Sheet2!$A$2:$A$10;0)));"X";1)
ili
=IF(ISERROR(VLOOKUP(A2;Sheet2!$A$2:$A$10;1;FALSE));"X";1)

Na ovaj način formule će vratiti X za svaki FALSE i broj 1 za svaki TRUE
Uz to ako dodaš deset vrijednosti na Sheet2 tada će formule automatski promijeniti range u A2:A20 (bez obzira koliki ti je range na Sheet1).
Bar tako radi u Excelu

Što se tiče kreiranja tablice sa automatskim proširenjem u Excelu pogledaj linkove (možda nešto od toga je kompatibilno sa LO)

- Oblikovanje radnih tablica u Excelu 2003
- Kreiranje radne tablice u Excelu 2013
- Dinamična tablica u Excel Name Manageru
- Automatsko kopiranje formule u novi red u Excelu 2003 i Excelu 2007

tomek@vz 01.03.2016. 10:11

Citiraj:

Autor Mikeyy (Post 2897473)
Broj stavki po listovima ti sigurno nije problem. MATCH i VLOOKUP uvijek sve pretražuju ispočetka do kraja.
Probaj na mojoj tablici obrisati pola podataka na drugom listu i vidjet ćeš da radi.

Moraš prvo shvatiti formule.

VLOOKUP uspoređuje podatak s prvog lista, s rasponom na drugom listu. Ukoliko nađe podudaranje, vraća iz tog reda neki stupac, po tvojoj želji.
Ukoliko se desi da na drugom listu imaš taj podatak koji uspoređuješ u više redova, e onda si u problemu, pošto ti VLOOKUP vraća samo prvi na koji naiđe.
Rasponi na obje tablice ne moraju biti isti, samo bi bilo dobro da su podaci po kojima ih uspoređuje unikatni, tj. da se ne ponavljaju.

Ja sam raspone u formulama odredi na knap, ti bi trebao to proširiti tipa na $A$1:$A$50000 tako da ti obuhvati sve podatke i u budućnosti koje budeš unosio.
Pazi samo kada uklanjaš cijeli red u tablici, odmah ti mijenja formule i smanjuje raspon. Može se i to zaobići, ali da sada ne kompliciramo.

P.S. #NAME grešku ti je izbacivao zato što LO iz nekog razloga ne prepoznaje TRUE / FALSE kao logički odgovor nego smatra da je tekst, a tekst ne može ići bez navodnika.

Da shvaćam al evo ja sam recimo sad probao istu stvar u tvojoj tabeli. Dakle List 1 ne diram. List 2 sve pobrišem (ćelije) - u stupac A dodam random 2 broja recimo 2 i 5 i na Listu 1 umjesto da u tim redovima formula izbaci druge vrijednosti - ništa. Cijeli red je kao "False".

Thanks, proučim pa se javim :chears:

Mikeyy 01.03.2016. 12:23

Citiraj:

Autor tomek@vz (Post 2897496)
Da shvaćam al evo ja sam recimo sad probao istu stvar u tvojoj tabeli. Dakle List 1 ne diram. List 2 sve pobrišem (ćelije) - u stupac A dodam random 2 broja recimo 2 i 5 i na Listu 1 umjesto da u tim redovima formula izbaci druge vrijednosti - ništa. Cijeli red je kao "False".

Zato sam ti se i gore raspisao. Radi i tako kako ti kažeš, ali mi se čini da ti ne shvaćaš da kada obrišeš red (baš ukloniš cijeli red, tipa "desni klik na red - Obriši retke"), mijenjaš formulu.

Označi s mišem A1:B20 na listu 2, stisni DEL na tipkovnici.
Ukucaj u npr ćeliju A5 broj 2. Pogledaj na prvoj stranici i pod brojem 2 će ti pisati TOČNO.

Ti vjerovatno ili brišeš redove (gore navedeno) ili brišeš cijele ćelije (desna tipka - Obriši (i onda odabereš pomakni lijevo/desno/gore/dolje)), što nikada ne trebaš raditi. Trebaš brisati samo sadržaj ćelija, ne i same ćelije.

tomek@vz 01.03.2016. 20:56

Citiraj:

Autor Mikeyy (Post 2897554)
Zato sam ti se i gore raspisao. Radi i tako kako ti kažeš, ali mi se čini da ti ne shvaćaš da kada obrišeš red (baš ukloniš cijeli red, tipa "desni klik na red - Obriši retke"), mijenjaš formulu.

Označi s mišem A1:B20 na listu 2, stisni DEL na tipkovnici.
Ukucaj u npr ćeliju A5 broj 2. Pogledaj na prvoj stranici i pod brojem 2 će ti pisati TOČNO.

Ti vjerovatno ili brišeš redove (gore navedeno) ili brišeš cijele ćelije (desna tipka - Obriši (i onda odabereš pomakni lijevo/desno/gore/dolje)), što nikada ne trebaš raditi. Trebaš brisati samo sadržaj ćelija, ne i same ćelije.

AHA! U tom grmu leži zec znači...hm...sad probao u pravu si ako ne brišem ćelije onda je dobro...mogu živjeti s tim :) Plaćam pivce kad buš u blizini :chears:

Mikeyy 02.03.2016. 06:37

Ajde super. Nego, probaj sada umjesto onog kratkog raspona u formuli dodati A:A kao cijeli stupac kako si i imao. Mislim da 5.1 to podržava samo što ja nisam navikao koristiti.

EDIT:
Citiraj:

Autor tomek@vz (Post 2896562)
Code:

=NOT(ISERROR(MATCH(A2;Sheet2!A:A;0)))

Sada gledam, pa ova formula ti u potpuno istom obliku radi u LO. Jedina razlika je što LO ne označava ćelije na drugom listu s Sheet2!A:A nego Sheet2.A:A, ali ako radiš formulu ručno, to ti se samo popuni točno.

tomek@vz 02.03.2016. 08:40

Citiraj:

Autor Mikeyy (Post 2897912)
Ajde super. Nego, probaj sada umjesto onog kratkog raspona u formuli dodati A:A kao cijeli stupac kako si i imao. Mislim da 5.1 to podržava samo što ja nisam navikao koristiti.

EDIT:


Sada gledam, pa ova formula ti u potpuno istom obliku radi u LO. Jedina razlika je što LO ne označava ćelije na drugom listu s Sheet2!A:A nego Sheet2.A:A, ali ako radiš formulu ručno, to ti se samo popuni točno.

Probao u tvojoj tabeli zamjeniti za ovu formulu...0 bodova. ! ispravlja u . automatski kolko vidim ali ne šljaka, prikazuje sve kao false.

Mikeyy 02.03.2016. 08:59

Traži grešku jer ja sam probao i radi sve 5.
Napravi MATCH formulu preko čarobnjaka, a onda ručno dodaj ispred NOT i ISERROR i zatvori zagrade. Tako ti je možda najlakše jer jedino gdje možeš pogriješiti je na MATCH.

tomek@vz 09.03.2016. 15:00

Glup sam, nejde kaj god da probam. Znači ovo je tabela:

https://goo.gl/c7T25P

Znači kad u stupac A5 ubacim formulu onda bi trebao odmah za E2 polje da formula izbaci da postoji a za E3 da taj ne postoji na Sheet 2

help :hitthewal:

Mikeyy 09.03.2016. 17:28

Radi, samo si tuka. :)

U E2 si upisao ovo:
sheet2!$A$2:$A$25

A trebaš ovo:
sheet2.$A$1:$A$25

Znači, dvije greške.
1. Kada vučeš podatke s drugih listova ide TOČKA, ne USKLIČNIK. Idi s mišem raditi formulu, ne nabadati na tipkovnici.
2. Nije raspon $A$2:$A$25, nego na drugom listu krećeš od A1!!!!!! $A$1:$A$25

tomek@vz 09.03.2016. 20:20

Citiraj:

Autor Mikeyy (Post 2901217)
Radi, samo si tuka. :)

U E2 si upisao ovo:
sheet2!$A$2:$A$25

A trebaš ovo:
sheet2.$A$1:$A$25

Znači, dvije greške.
1. Kada vučeš podatke s drugih listova ide TOČKA, ne USKLIČNIK. Idi s mišem raditi formulu, ne nabadati na tipkovnici.
2. Nije raspon $A$2:$A$25, nego na drugom listu krećeš od A1!!!!!! $A$1:$A$25

Priznam :) Znači pol mi se prašta ;)
Nego kužim ovaj $1 dio - to je raspon sa sheeta2...a koja je fora sa točkom umjesto uskličnika?

Mikeyy 09.03.2016. 21:28

Tako LibreOffice razdvaja ime lista od ćelije/raspona.
Mislim da Excel koristi ! dok LibreOffice koristi . Zašto? Ne znam.
Ali ako koristiš miša kod pišeš formulu, point&click, to ti uopće nije bitno jer sam unese sve.

tomek@vz 10.03.2016. 06:47

Citiraj:

Autor Mikeyy (Post 2901312)
Tako LibreOffice razdvaja ime lista od ćelije/raspona.
Mislim da Excel koristi ! dok LibreOffice koristi . Zašto? Ne znam.
Ali ako koristiš miša kod pišeš formulu, point&click, to ti uopće nije bitno jer sam unese sve.

Thanks :chears:


Sva vremena su GMT +2. Sada je 11:43.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger