< návrat zpět

MS Excel


Téma: POZVYHLEDAT a duplicitní hodnoty rss

Zaslal/a 8.2.2018 12:48

Dobrý den,
potřeboval bych poradit se vzorcem. V buňce G70 mi vzorec hledá určitou hodnotu v oblasti. Problém je, když je v oblasti duplicitní hodnota, funkce POZVYHLEDAT() automaticky počítá s první nalezenou a já bych potřeboval počítat s poslední nalezenou hodnotou. Díky za radu.

Příloha: xlsx39389_test.xlsx (20kB, staženo 35x)
Zaslat odpověď >

#039390
elninoslov
Tak skúste maticový vzorec (Ctrl+Shif+Enter)
=INDEX($A$4:$A69;MAX(($B$4:$B69<>"")*(ROW($B$4:$B69)-3)))
=INDEX($A$4:$A69;MAX(($B$4:$B69<>"")*(ŘÁDEK($B$4:$B69)-3)))
citovat
#039391
avatar
Díky funguje. Ještě bych měl dotaz. Pokud je to maticový vzorec lze ho zakomponovat do vzorce v buňce C70 nebo musí být zvlášť v buňce?citovat
#039394
elninoslov
Samozrejme, že sa to dá, ale ten vzorec mi príde nejaký divný. Rátate priemernú spotrebu na 30 dní aj keď to nieje 30 dní? Nemalo by sa rátať priemer iba na počet dní medzi odpismi ?
=IF(B70="";"";IF(B70<B69;B70;(B70-INDEX($B$4:$B69;MAX(($B$4:$B69<>"")*(ROW($B$4:$B69)-3)))))/DATEDIF(INDEX($A$4:$A69;MAX(($B$4:$B69<>"")*(ROW($B$4:$B69)-3)));$A70;"d")*30)
=KDYŽ(B70="";"";KDYŽ(B70<B69;B70;(B70-INDEX($B$4:$B69;MAX(($B$4:$B69<>"")*(ŘÁDEK($B$4:$B69)-3)))))/DATEDIF(INDEX($A$4:$A69;MAX(($B$4:$B69<>"")*(ŘÁDEK($B$4:$B69)-3)));$A70;"d")*30)
citovat
#039398
avatar
Počítá to průměrnou spotřebu za 30 dní od posledního měření. Měření není pravidelné. Měsíc může být od 28 do 31 dní, proto je nastaveno období na 30 dní aby byl vidět průměrný rozdíl ve spotřebě za poslední měření. Myslíte že to je špatně?citovat
#039399
elninoslov
Ale viete, že asi aj áno ... To je iba orientačné pre komunikáciu so zákazníkom, na ročnom vyúčtovaní už to bude presné, takže asi OK. Ja som najskôr myslel, že chcete priemer na deň za odmerané obdobie (priemer na počet meraných dní). Ale tak to nieje.
Každopádne si musíte ten vzorec ešte skomplikovať, lebo ak bol menený vodomer pred viac ako jedným riadkom, tak Vám to
IF(B68<B67...
KDYŽ(B68<B67...
nepomôže a vyjde Vám vysoké záporné číslo. Myslím, že tam je treba opätovne porovnať poslednú meranú hodnotu
IF(B68<INDEX($B$4:$B67;MAX(($B$4:$B67<>"")*(ROW($B$4:$B67)-3)))...
KDYŽ(B68<INDEX($B$4:$B67;MAX(($B$4:$B67<>"")*(ŘÁDEK($B$4:$B67)-3)))...

teda
=IF(B68="";"";IF(B68<INDEX($B$4:$B67;MAX(($B$4:$B67<>"")*(ROW($B$4:$B67)-3)));B68;(B68-INDEX($B$4:$B67;MAX(($B$4:$B67<>"")*(ROW($B$4:$B67)-3)))))/DATEDIF(INDEX($A$4:$A67;MAX(($B$4:$B67<>"")*(ROW($B$4:$B67)-3)));$A68;"d")*30)
=KDYŽ(B68="";"";KDYŽ(B68<INDEX($B$4:$B67;MAX(($B$4:$B67<>"")*(ŘÁDEK($B$4:$B67)-3)));B68;(B68-INDEX($B$4:$B67;MAX(($B$4:$B67<>"")*(ŘÁDEK($B$4:$B67)-3)))))/DATEDIF(INDEX($A$4:$A67;MAX(($B$4:$B67<>"")*(ŘÁDEK($B$4:$B67)-3)));$A68;"d")*30)
citovat
#039412
avatar
Máte pravdu, ale s tím se tak nějak počítalo. Těch výměn zařízení není zase tak mnoho 1 Díkycitovat
#039433
avatar
Neluštil jsem to, jen poznámka bokem: Pro hledání poslední položky se - pokud se nepletu - používá VYHLEDAT.citovat
#039435
elninoslov
Njn, sakra, veď to tam bobika aj mal ...
Nematicovo:
=IF(B68="";"";IF(B68<LOOKUP(2;1/(B$4:B67<>"");B$4:B67);B68;(B68-LOOKUP(2;1/(B$4:B67<>"");B$4:B67)))/DATEDIF(LOOKUP(2;1/(B$4:B67<>"");A$4:A67);$A68;"d")*30)
=KDYŽ(B68="";"";KDYŽ(B68<VYHLEDAT(2;1/(B$4:B67<>"");B$4:B67);B68;(B68-VYHLEDAT(2;1/(B$4:B67<>"");B$4:B67)))/DATEDIF(VYHLEDAT(2;1/(B$4:B67<>"");A$4:A67);$A68;"d")*30)
citovat
#039496
avatar
Tohle téma bych asi uzavřel, řešení mi vyhovuje jak psal elninoslov.
Co bych potřeboval dořešit je tady: http://wall.cz/index.php?m=topic&id=39148
Díkycitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

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.

On-line nástroje