S využitím UDF mi to príde fakt ľahšie a zrozumiteľnejšie. Navyše bez obmedzení počtu položiek.
Samozrejme sa to dá urobiť, aj ako jednorázová akcia, na tlačítko.
Možné to je aj vzorcami, ale je to enormne náročné na úpravu vzorcov. Pre každú 5-ticu je vzorec iný, navyše prvý z 5 pomocných stĺpcov má úplne iný vzorec. A prečo 5 pomocných stĺpcov pre každý Váš stĺpec ? Lebo Excel nevie spájať X textov do jedného (iba najnovší Excel 2016 v balíku Ofice 365). Neviem, či budete schopný upraviť tieto vzorce pre 25*5 stĺpcov, a ďalších 25 výsledkových. A to sa počíta s tým, že jedno meno bude mať max 6 údajov rovnakého druhu (napr. 6 čísiel, 6 poznámok ...). Srandovne potom vyznieva 6 dátumov narodení (ale môžu byť aj iné dátumy), ale to len na ukážku, že je potrebné dátumové číslo prevádzať na text.
Každopádne by som asi skôr doporučil makro. Vyjadrite sa, prosím.
V ktorom riadku máte také 4 bunky, ktoré popisujete ??? O akej hodnote B je reč? Z listu VYPLNIT ? Plynule prechádzate pri vysvetľovaní z listu 1 do listu 2 ale nepíšete o ktorom je práve reč.
Kategória má nejakú cenu ??? Cenu by mal mať produkt a nie kategória do ktorej patrí.
Slovné úlohy sú moja smrť :)
EDIT:
A1 je v oboch listoch mimo použitú oblasť.
Vyfarbiť 4 bunky z 5 bunkovej zlúčenej oblasti pôjde asi ťažko.
Vy proste dole potrebujete zoznam kategórií so súčtom ich produktov ?
Ten súbor musíte zabaliť do ZIP/RAR, a ten ZIP/RAR nesmie byť väčší ako 256 KB. A myslím, že musíte byť prihlásený, to ale neviem na isto.
Vzorce dávajte do tagu CODE, t.j. označíte v príspevku vzorec, a dole stlačíte ten $. Potom nenastane situácia so smailíkmi.
Pridajte si tam teda ďalšiu podmienku, niečo takéto:
=KDYŽ(NEBO(R1="NE";R1="");váš_vzorec;R1*váš_vzorec)
=IF(OR(R1="NE";R1="");váš_vzorec;R1*váš_vzorec)
EDIT:
Alebo ešte kratšie:
=váš_vzorec*KDYŽ(NEBO(R1="NE";R1="");1;R1)
=váš_vzorec*IF(OR(R1="NE";R1="");1;R1)
Žiaľ ani teraz nemám potuchy ako to myslíte.
Každý súbor obsahuje 24 čísel v rovnakých bunkách, teda zoberieme všetkých 72 (3x24) čísel, a nájdeme z nich jedno minimum. Toto minimum potom do Výsledku zapíšeme na 24 riadkov. Stále to isté minimum, z rovnakého počtu údajov z rovnakých súborov, rovnakých stĺpcov, s rovnakou logikou. V tom prípade stačí jediný výpočet v prvej bunke Výsledku, a do ostatných buniek Výsledku sa dá iba odkaz na prvú bunku.
Je tento môj tip správny ?
EDIT: No vidím, že Jeza.m ma predbehol, a konečne to ako jediný asi pochopil správne.
Toto nieje problém, ale ako vravíte, dá sa tam prirobiť ešte veľa vecí, ktoré by už boli podstatne náročnejšie, napr. posun rozsahu dátumov so zachovaním dát, odomykanie prázdnych buniek v B a aktivácia Overenia dát v nich, kvôli rezervácii na inom PC, a pod. ...
Už si z toho niečo vyberiete snáď.
Týmto súborom nahraďte ten predošlý pri tých 3 súboroch čo som poslal minule.
Nechcem Vám do toho vstupovať, mne fungujú obe verzie, len malá poznámka : Nebolo by lepšie keby sa rezervovalo na základe označených Dátumov, a nie Mien ?
Funguje to presne ako požadujete. Niečo musíte robiť zle.
Nahrajte si kompletné riešenie pre jeden riadok pomocou Zaznamník makier. Potom si kód môžete upraviť na cyklus, kde sa bude v cykli meniť adresa zdroja a cieľa pre Riešiteľa ("SetCell:=" a "ByChange:=").
Je to len idea.
Dynamický rozsah pre overenie dát si urobíte z Tabuľky jednoducho - nadefinovaním Definovaného názvu s odkazom na daný stĺpec Tabuľky - a to najlepšie je to, že už ho tam máte :)
Volá sa "nazvy".
Teda iba označte celý stĺpec "Položka" v "DataTab" a dajte zmeniť Overenie dát z
=seznam!$A$2:$A$1000
na
=nazvy
Pre druhú otázku by som si musel pozrieť makro, a to sa mi práve nechce. Snáď neskôr, ak sa neozve autor Jeza.m / AL.
Dobrý nápad, v tom prípade by to konkrétne v mojom príklade vyzeralo nasledovne:
=SUMIFS(tblData[Hodnota];tblData[Středisko];$A$4;tblData[Účet];$B$4)
teda dúfajme, že sa tam nachádza iba jeden riadok s danou kombináciou...
Skúste jedno z týchto 2 makier.
Jeden variant je na tlačítko a spojí všetky údaje v A so všetkými indexami v B.
Druhý variant je taký, že reaguje na zmenu v A a B a do C spája tie riadky v ktorých došlo k zmene. Tento variant je odstavený premenovaním názvu metódy Worksheet_Change na Worksheet_Change2. Tú "2" odstránte a začne fungovať.
Oba varianty treba dopilovať, keďže nevieme odkiaľ začínajú dáta, či sú pod nimi iné dáta, či je to Tabuľka (nie tabuľka), o ktoré stĺpce sa jedná, ...
Môže byť aj takáto matica, a v tom prípade by malo byť šumák, ako sú rozmiestnené:
=MIN(IF($E$11:$E$16=I11;$F$11:$F$16;FALSE))
=MIN(KDYŽ($E$11:$E$16=I11;$F$11:$F$16;NEPRAVDA))
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.