ludviktrnka napsal(a)Zkuste SUMPRODUCT(sloupec1=kriterium1;sloupec2=krit2;sloupec3=krit3;sloupec4=krit4;sloupecEAN) Vysledkem bude suma vsech vyhovujicich cisel ean, ale pokud je vysledek jediny pak bude vysledkem prave to co potrebujete.
Zhruba takto: =SUMPRODUCT(data.$B$2:$B$30=A2;data.$C$2:$C$30=B2;data.$D$2:$D$30=C2;data.$E$2:$E$30=D2;data.$A$2:$A$30)
Samozřejmě jak bylo řečeno výše, dost záleží na množství dat, toto je použitelné max do několika málo tisíc. Přes 5000 už to bude asi docela náročné.
Mne by zajímala ukázka vzorce stačil by vzor pana Trnky. Nerozchodil jsem to a nechápu jak se to povedlo bajtíkovi. Jde o maličkosti? Nemyslím a stejně tak nejde o mnou vytvořené chyby při manipulaci se vzorci. Vzorec SUMPRODUKT má popis v nápovědě následující :
nápověda napsal(a)=SUMPRODUCT(A1:B3;C1:D3) vrátí 397.
Výpočet: A1*C1 + B1*D1 + A2*C2 + B2*D2 + A3*C3 + B3*D3
Funkci SUMPRODUCT je možné použít pro výpočet skalárního součinu dvou vektorů.
Funkce SUMPRODUCT vrací jediné číslo, není třeba ji zadávat jako maticovou funkci.
Podrobnější vysvětlení nahoře.
Zkopíroval jsem přímo ukázanou matici v nápovědě a výsledek se potvrdil. Totéž jsem testoval v AOO a je tam úplně stejný popis. Ale AOO nemá zavedené funkce SUMIFS a mnoho dalších. Ani maticí jsem to nerozchodil.
Zde se jedná o první ukázku vzorce jak pan Trnka uvádí. Níž upřesňuje vzorec :
=SUMPRODUCT(data.$B$2:$B$30=A2;data.$C$2:$C$30=B2;data.$D$2:$D$30=C2;data.$E$2:$E$30=D2;data.$A$2:$A$30)
. Nebyl jsem líný přesně nasimulovat tak aby to bylo shodné se vzorcem. Ale výsledek vyplivl jen nulu a po úprave (odkaz na hledané hodnoty) vypadl první řádek dat.
Vím co je to za úpravu - takto se zadávaly matice ještě před změnami vzorců. Ale výsledek nevrací nic použitelného. Takže SUMPRODUKT slouží nyní ke zcela jinému účelu a po úpravě na kterou jsme si zvykli to dává nesmysl. Nechtěl jsem to takto napsat, ale když bajtík panu Trnkovi děkuje tak si připadám jako hňup. Uváděl jsem raději příklad se SUMIFS ale uvedl jsem, že jsem ten sešit postavil i pro demonstraci příkladu pana Trnky. Jen jsem to tam záměrně jako vzorec nenapsal.
Je sice možné, že bajtík i pan Trnka mají staré instalace někde na verzi LO 5, nebo AOO kde by to bylo možné pozitivně testovat. Ale o tom celkem pochybuji - jen takovou možnost připouštím.
Problém vzorců které používají součin, nebo součet (SUMPRODUKT, SUMIFS ap.) je v tom, že stejný výsledek mohou dát součiny nebo součty různých členů. Pro představu 3*8 = 6*4. Když se něco takového objeví v katalogu může to být fatální malér ztráta. Proto je k těmto vzorcům bezpodmínečně nutné postavit kontrolu - nejlépe pomocí COUNTIF.
Pro bajtíka:
Pomocný sloupec před EANem vyžaduje pouze VLOOKUP. Řešení z druhého listu (sloupec) G může být třeba v posledním sloupci "AMJ". Může mít tisíce aktivních vzorců a nic se neděje (Poslaný vzor obsahuje 10x více řádků, nežli potřebujete Vy a navíc jsou v sešitě 2x). Stačí jenom podle potřeby vystříhnout buňky G1 a G2 - a ty vložit tam kam potřebujeme. Totéž lze udělat stejně jako jsem to nasimuloval v sešitě - tedy do sloupce AMI dát "=Ax" a do stejného řádku sloupce AMJ dát složený string podle "kabiho" + VLOOKUP podle doporučení. Vzorec se samozřejmě umístí na rozdíl od pomocných sloupců tam kde ho potřebujeme.
Přeji úspěch a nezlobte se - rád bych věděl jak se to podařilo rozchodit.
Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ