< návrat zpět

MS Excel


Téma: Vzorec pro automatické doplnění roku rss

Zaslal/a 21.11.2017 13:03

Dobrý den,

prosím o pomoc. Mám tabulku, kde v prvním sloupci jsou měsíce. V druhém sloupci je rok a v dalších sloupcích jsou pak už nepodstatné informace o objednávkách.

Zdrojem je seznam objednávek, klíčová informace je datum. Tabulka, kterou vytvářím vezme datum nejnovší zakázky a vytvoří první řádek v tabulce. Vzhledem k tomu, že každý den přijde několik objednávek, tak je to vpodstatě vždy aktuální datum.

Na základě tohoto data se pomocí vzorce =MĚSÍC(MAX(A:A) vytvoří řádek s prvním měsícem a ve druhém pomocí =ROK(MAX(A:A) řádek s adekvátním rokem. Problém jsou další řádky. Měsíc jsem vyřešil pomocí =KDYŽ(MĚSÍC(MAX(A:A)-1=0;"12";(MĚSÍC(MAX(A:A)-1) což vpodstatě na každém dalším řádku napíše předchozí měsíc. Za boha ale nemůžu přijít na to, jak automaticky vyplnit správný rok.

Když bude ve zdrojových datech nejnovejší objednávka třeba z 3.3.2017, potřebuji aby v tabulce byly řádky:

Březen 2017
Únor 2017
Leden 2017
Prosinec 2017
Listopad 2016
atd.

Můžete mi s tím prosím poradit?

Zaslat odpověď >

icon #038413
eLCHa
I když nemám rád A:A, tak o to tu teď nejde

1. datum získáte tak jak jste psal, tedy=MAX(A:A)(vloženo např. do D1)
2. do D2 vložte=DATUM(ROK(D1);MĚSÍC(D1)-1;1)a kopírujte dle potřeby dolů
3. Pak celou tuto oblast naformátujte vlastním formátem "mmmm rrrr"citovat
icon #038414
avatar
Bunka pomenovaná ako DateStart bude obsahovať datum objednávky (3.3.2017).

Vzorec v bunke pomenovanej ako FirstDate:
=DATE(YEAR(DateStart); MONTH(DateStart); 1)

Vzorec v bunke o riadok nizsie:
=DATE(YEAR(DateStart); MONTH(DateStart)-(ROW()-ROW(FirstDate)); 1)
ten je potreba skopírovať dolu.

Formát buniek "mmmm rrrr". V prípade potreby rozdeliť mesiac a rok do samostatných buniek buď vzorce mierne modifikovať, použiť funkciu TEXT, prípadne vhodný užívateľský formát pre dátum.

V podstate to samé, čo píše Karel, ktorý stihol vložiť, než som to dopísal..citovat
#038415
avatar
Já to věděl, že to půjde takhle elegantně.

Mám ale doplňující dotaz, když použiju postup od eLCHa, tak mám v buňkách díky formátování správné hodnoty, ale ve skutečnosti se jedná o data. A když změním výchozí buňku s výpočtem nejvyššího roku upravím na =HODNOTA.NA.TEXT(D2;"rrrr") tak sice dostanou potřebnou hodnotu, ale zase s tím neumí počítat další řádky.

Jde to vyřešit nějak elegantně, aniž bych musel použít dva sloupce - jeden viditelný a druhý skrytý použitý pro výpočty?citovat
icon #038417
avatar
Tak použi môj, modifikovaný, postup.

Do pomenovanej bunky FirstDate vzorec:
=TEXT(DATE(YEAR(DateStart); MONTH(DateStart)-(ROW()-ROW(FirstDate)); 1);"mmmm")

Do pomenovanej bunky FirstDate2 vo vedľajšom stĺpci vzorec:
=TEXT(DATE(YEAR(DateStart); MONTH(DateStart)-(ROW()-ROW(FirstDate2)); 1);"rrrr")

Oba skopíruj dolu.citovat
#038427
avatar
Funguje to, díky :)citovat

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