Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 8. 9. 2019 22:10:10

MilanB.
Člen
Registrace: 31. 5. 2009
Příspěvků: 15

Vyhledání buňky splňující krytérium (obdoba vlookup) - VYŘEŠENO

Zdravím

Mám tabulku s mezními hodnotami proudů pro stanovené průřezy vodičů (2 sloupce). Potřebuji vyhledávat průřezy podle zadaných proudů I (pohybují se v rozsahu mezních proudů v tabulce).
Příklad:
- v tabulce mám 3 řádky 15A=1,5; 21A=2,5 ;28A=4
- skutečný proud I=23A a funkce by tedy měla vrátit průřez 4

Napadá někoho jak to řešit? Existuje nějaká funkce, která nehledá rovnost (např. vlookup), ale např. první výskyt I<Ax1 (průřezy si mohu posunout)?

Děkuji za reakce.

Editoval MilanB. (9. 9. 2019 10:28:42)

Offline

#2 8. 9. 2019 22:35:29

MilanB.
Člen
Registrace: 31. 5. 2009
Příspěvků: 15

Re: Vyhledání buňky splňující krytérium (obdoba vlookup) - VYŘEŠENO

Zdravim
Už jsem to vyřešil. Přes obdobnou funkci v MS Excel jsem se dostal k významu kolonky "řazení" a s 1 to funguje!

Offline

#3 9. 9. 2019 05:16:38

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,953

Re: Vyhledání buňky splňující krytérium (obdoba vlookup) - VYŘEŠENO

Na tento problém sice řešení máte, ale přes to by někoho mohlo konkrétní řešení zajímat. Tedy konkrétně jakým vzorcem (funkcí) jste to vyřešil. Když už jste příspěvek napsal a sám vyřešil tak by bylo dobré označit příspěvek za "VYŘEŠENÝ".


Řešení pro LibreOffice (LO) pomocí IFS.

=IFS(A1<=15;1,5;A1<=21;2,5;A1<=28;4)

Řešení pro Apache Open Office (AOO) pomocí IF.

=IF(A1<=15;1,5;IF(A1<=21;2,5;IF(A1<=28;4;6)))

     Jde spíš o pochopení systému podmínek který musíme použít buď ve vzestupném pořadí jako zde, nebo naopak v sestupném a s podobnou logikou :
1. místo) je hodnota 1 větší než (něco) ale menší než hodnota 2? => (co se má vrátit)
2. místo) je hodnota 2 menší než hodnota 3? => (co se má vrátit)
3. místo) je hodnota 3 menší než hodnota 4? => (co se má vrátit)
4. místo) je hodnota 4 menší než hodnota 5? => (co se má vrátit)
............................
45. poslední místo) pole hodnot uzavřeme podmínkou je hodnota 45 > hodnota 44. (POČET PODMÍNEK NENÍ OMEZEN)
     V mnoha případech není potřebné při startovní podmínce limitovat také spodní hodnotou, ale někdy naopak ano. Totéž platí o poslední podmínce.


     Jiným problémem je konstrukce vzorců tak jak uvádím pro AOO. V případě LO použijeme výše uvedenou logiku přímo do jediného vzorce. Ale AOO funkci IFS nezná a tak se to musí řešit vnořením jednotlivých podmínek IF. Pro dokreslení uvádím postup pro vytvoření vnořených vzorců :
A) Nejprve si do sloupců vedle sebe (nebo do řádků pod sebou) vytvoříme jednotlivé podmínky tak abychom je mohli naráz otestovat. Měli bychom při tom vidět ve všech výsledek bez chyby.

=IF(A1<=15;1,5;"Vnořená 2. podmínka")
=IF(A1<=21;2,5;"Vnořená 3. podmínka")
=IF(A1<=28;4;6)

B) Nyní začínáme od začátku. Vystříhneme celý druhý vzorec bez rovnítka a vložíme ho místo textu "Vnořená 2. podmínka".Měli bychom při tom vidět výsledek v obou "zbylých" vzorcích a to bez chyby.
=IF(A1<=15;1,5;"Vnořená 2. podmínka") PŘED VLOŽENÍM
=IF(A1<=15;1,5;IF(A1<=21;2,5;IF(A1<=21;2,5; "Vnořená 3. podmínka"))) PO VLOŽENÍ
"=" ROVNÍTKO ZŮSTANE V PŮVODNÍ BUŇCE KDE BYL VYSTŘIŽENÝ 2. VZOREC (pro kontrolu).

C) Nyní zakončíme. Vystříhneme celý poslední vzorec bez rovnítka a vložíme ho místo textu "Vnořená 3. podmínka".Měli bychom při tom zkontrolovat zda jsme neudělali chybu.
=IF(A1<=15;1,5;IF(A1<=21;2,5;IF(A1<=21;2,5; "Vnořená 3. podmínka"))) PŘED VLOŽENÍM
=IF(A1<=15;1,5;IF(A1<=21;2,5;IF(A1<=21;2,5; IF(A1<=28;4;6)))) PO VLOŽENÍ
"=" ROVNÍTKO ZŮSTANE V PŮVODNÍ BUŇCE KDE BYL VYSTŘIŽENÝ 2. VZOREC (pro kontrolu).
"=" ROVNÍTKO ZŮSTANE V PŮVODNÍ BUŇCE KDE BYL VYSTŘIŽENÝ 3. VZOREC (pro kontrolu).
_____________________________________________________________________
     Podobným způsobem "ROZPITVÁME" složité vzorce které vykazují chybu. Jednotlivé segmenty doplníme na fungující vzorce. Tím najdeme ten který obsahuje chybu. Následně opravíme a zase spojíme do jediného.

Editoval neutr (9. 9. 2019 05:43:07)


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#4 9. 9. 2019 10:37:22

MilanB.
Člen
Registrace: 31. 5. 2009
Příspěvků: 15

Re: Vyhledání buňky splňující krytérium (obdoba vlookup) - VYŘEŠENO

Dobrý den
Díky za nápovědu. Věřím, že to může řadě uživatelům pomoci. V mém případě by využití funkce IF(S) bylo pracné (tabulka má mnoho řádek - 3 řádky byly jen jako příklad).
Připomínku na VYŘÍZENO přijímám. V tomto mi Váš příspěvek pomohl (dole je návod - já totiž předtím marně hledal nějaké "tlačítko"   sad ).

Offline

#5 9. 9. 2019 11:47:08

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,953

Re: Vyhledání buňky splňující krytérium (obdoba vlookup) - VYŘEŠENO

MilanB. napsal(a)

Zdravim
Už jsem to vyřešil. Přes obdobnou funkci v MS Excel jsem se dostal k významu kolonky "řazení" a s 1 to funguje!

     Jak jste potom řešil Vaši potřebu - kterým vzorcem. Nebyla to náhodou kontingenční tabulka, nebo jen obyčejný automatický filtr nad obyčejnou tabulkou? Hledal jste původně vzorec a říkáte že řešením je podobná funkce z MS. Zajímalo by mne to. Hovoříme stále o práci v Calcu, nebo už o Excelu?
     Moc funkcí takových není a všechny by asi potřebovaly tabulku. Když je ale tabulka - není potřeba vzorec. Můžeze upřesnit jak jste to řešil? Rád se poučím a se mnou jistě i další.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#6 9. 9. 2019 13:35:10

MilanB.
Člen
Registrace: 31. 5. 2009
Příspěvků: 15

Re: Vyhledání buňky splňující krytérium (obdoba vlookup) - VYŘEŠENO

Dobrý den
Řešil jsem to pomocí Vlookup, s řazením nastaveným na 1 [např. VLOOKUP(A1;A2:C20;3;1)]. Tato funkce pak nevyhledává v prvním sloupci řádek se shodou (to by nastalo, když bude na posledním místě 0), ale řádek jehož hodnota je nejblíže nižší požadované hodnotě. Protože ve sloupci A jsou horní meze, potřeboval bych nalézt nejblíže vyšší hodnotu průřezu vodiče. To obcházím tím, že jsem si vytvořil nový sloupec např. C (proto ta 3 v ukázkovém vzorci), do kterého jsem zkopíroval průřezy posunuté tak, aby na vyhledaném řádku byl průřez, odpovídající nejblíže vyšší hodnotě proudu. Do samotné tabulky jsem nezasahoval. Jednak kvůli přehlednosti a jednak proto, že je rozsáhlejší a je využívána pro více typů výpočtů.

Editoval MilanB. (9. 9. 2019 13:36:20)

Offline

#7 9. 9. 2019 14:23:05

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,953

Re: Vyhledání buňky splňující krytérium (obdoba vlookup) - VYŘEŠENO

Ano děkuji. Já jsem špatně pochopil část kde popisujete "dostal k významu kolonky "řazení" a s 1 to funguje" a s funkcí VLOOKUP jsem si to nespojil.


     VLOOKUP je nejčastěji probíraný vzorec a nedávno jsem zrovna popisoval rozdíl mezi True a False pro jiného uživatele. Díky :-)


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#8 9. 9. 2019 14:46:53

MilanB.
Člen
Registrace: 31. 5. 2009
Příspěvků: 15

Re: Vyhledání buňky splňující krytérium (obdoba vlookup) - VYŘEŠENO

To je dobře, že existují lidé, co jsou ochotní pomoci. My občasní uživatelé to potřebujeme. Mějte se.

Offline

Zápatí