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

#1 8. 2. 2012 20:24:34

ptu
Člen
Registrace: 8. 2. 2012
Příspěvků: 1

Jak vybrat vypočtené číslo z řady? - VYŘEŠENO

Dobrý den, potřebuji počítat hodnoty elektrotechnických součástek a podle vypočtených hodnot vybrat vždy ty nejbližší z dané řady. Prosím o radu či nápovědu jak na to, jestli Calc podobnou funkci má nebo jak ji naprogramovat. Děkuji Pavel


_____________________________________________________________


Značím jako vyřešené

Editoval sedlacekdan (12. 2. 2012 17:32:28)

Offline

#2 9. 2. 2012 08:28:40

Jar
Člen
Registrace: 17. 11. 2009
Příspěvků: 53

Re: Jak vybrat vypočtené číslo z řady? - VYŘEŠENO

ptu napsal(a)

Dobrý den, potřebuji počítat hodnoty elektrotechnických součástek a podle vypočtených hodnot vybrat vždy ty nejbližší z dané řady. Prosím o radu či nápovědu jak na to, jestli Calc podobnou funkci má nebo jak ji naprogramovat. Děkuji Pavel

Zdravím

Napadl mě možný postup řešení za předpokladu, že řada hodnot ve které hledáme, je vzestupně seřazena:
1. pomocí funkce vlookup najít v řadě nejbližší menší hodnotu
2. pomoci funkce match najít adresu této hodnoty v řadě
3. pomocí funkce offset najít následující hodnotu v řadě
Takže nyní máme 2 hodnoty, ze kterých musíme vybrat tu, která je nejbližší.
4. z těchto 2 hodnot vypočítáme průměr, který porovnáme pomocí funkce if s naší výchozí hodnotou a podle výsledku <= nebo > nám vypadne jen ta nejbližší.

Offline

#3 9. 2. 2012 10:23:30

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 769

Re: Jak vybrat vypočtené číslo z řady? - VYŘEŠENO

Použijte kombinaci funkcí MATCH a INDEX.

Funkcí MATCH najdete pozici součástky v seznamu.
Pokud je řada hodnot v oblasti A1:A20 a hledaná hodnota v buňce C1, potom pozici nejbližší najdete výrazem:

=MATCH(MIN(ABS(A1:A20-C1));ABS(A1:A20-C1);0)

(Maticový vzorec, vložit trojhmatem ctrl-shift-enter)
--

Pokud je uvedený výraz v buňce D1 pak příslušnou hodnotu ve sloupci B získáte

=INDEX(A1:B20;D1;2)

(obyčejně)
--

Nebo to co je ve vzorci si rozepište do pomocného sloupce:

Pom. sloupec

=ABS(A1-$C$1)

a zkopírovat dolů.
--

Při vhodném uspořádání můžete dále použít i funkce jako je VLOOKUP, kde hledaný výraz bude
MIN(pom.sloupec) a řazení=0.


Pokud stačí najít největší nižší hodnotu součástky a seznam je setříděný, použijte některou std. vyhledávací funkci s parametrem třídění = 1 (implicitní hodnota).

Offline

Zápatí