Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem excel - dopocitani z vysledku

ahoj,

poradite mi opet z excelu?

1. ve sloupci A mam seznam cisel
2. v B1 mam konkretni cislo - napr. 10877

a ted bych potreboval, aby mi excel vybral (vysvitil ve sloupci A nebo zkopiroval do sloupce B) cisla ze sloupce A, ktera souctem davaji cislo z B1. pokud by nenalezl presne shodny soucet, tak nejblizsi moznou souctovou kombinaci.

vite nekdo jak na to?

diky moc!!

Předmět Autor Datum
Tohle ani tak nesouvisí s Excelem, jako s algoritmizací. Důležité je prostě najít algoritmus, pak už…
MachR55 29.04.2015 10:27
MachR55
bohuzel vubec nejsem programator, takze ikdyz to myslis dobre, ja si to nenaprogramuju, ikdybych zna… nový
mayerrs 29.04.2015 10:43
mayerrs
Ne, taková funkce neexistuje, musíš si vytvořit makro. Tato úloha opravdu není tak triviální, že by… nový
MachR55 29.04.2015 10:45
MachR55
představ si řadu: 128 64 32 16 8 4 2 1 A jakým myslíš, že je ideální součet pro číslo 127? ;-) nový
touchwood 29.04.2015 13:17
touchwood
to by asi šlo u malých množin. U větších bych na to šel statisticky (např. zjistit si průměr, mediá… nový
touchwood 29.04.2015 13:20
touchwood
V excelu lze toto vyřešit pomocí nástroje Řešitel, kdy budeš nezáporně minimalizovat rozdíl součtu v… nový
touchwood 29.04.2015 13:23
touchwood
nu, skoda skoda.. pevne jsem doufal, ze to bude mnohem snazsi. ze bude existovat nejaka funkce - ne… nový
mayerrs 29.04.2015 22:15
mayerrs
co ti připadne těžkého na tom použít řešitele? edit: teď jsem si to zkoušel, je to operace na 1 min… nový
touchwood 29.04.2015 22:35
touchwood
nejak se v nem neorientuju. ani mi nenabízí metody. mám office 2007, tak ze by uz prilis stara verze… poslední
mayerrs 30.04.2015 13:52
mayerrs

Tohle ani tak nesouvisí s Excelem, jako s algoritmizací. Důležité je prostě najít algoritmus, pak už to můžeš naprogramovat v čemkoli.

První hrubý nástřel:
- projít všechny možné kombinace (tj. začít dvojicemi, trojicemi, .... až po n-1). Pro každou takovou kombinaci:
- - sečíst
- - poznačit si hodnotu rozdílu
- - rozdíl = 0 => končím, dosáhl jsem čeho jsem chtěl
- - rozdíl (v absolutní hodnotě) < předchozí minimum => poznačím si dosažený rozdíl a použité sčítance
- jdu na další kombinaci.

to by asi šlo u malých množin.

U větších bych na to šel statisticky (např. zjistit si průměr, medián, minimum, maximum v porovnání s požadovaným součtem a na základě toho volit strategii hledání sčítanců.)

edit: čistě algoritmicky bych to viděl na seřazení od největšího čísla, následně nalezení prvního menšího členu a rekurzivní postupné přičítání vždy dalšího menšího členu než je stávající zbytek. To ovšem neřeší vše, např. když se dá dojít k lepšímu součtu od menších čísel, nebo v případě, kdy nejbližší větší číslo je blíže než součet všech větších - tam by ale mohla pomoci statistická analýza popsaná výše.

nu, skoda skoda..

pevne jsem doufal, ze to bude mnohem snazsi. ze bude existovat nejaka funkce - neco jako obdoba zobrazit duplicitni hodnoty pomoci podmineneho formatovani..

kazdopadne diky.

ps: nemel sem stesti a kod jsem nikde na netu nenasel. ze by to predemnou nikdo obdobnym zpusobem neresil?

Zpět do poradny Odpovědět na původní otázku Nahoru