Forum Discussion

MIRAS195's avatar
MIRAS195
Copper Contributor
Mar 05, 2023

Vorec DATEDIF pro rok 1800

Poraďte prosím způsob výpočtu pro vzorec v Excelu 365 pro rok - 1862, děkuji.

buňka A1 = obsahuje počáteční datum 5.5.1862 (formát datum)
buňka B1 = obsahuje konečný datum 23.6.1966 (formát datum)
buňce C1 = bude zobrazen výsledek ve formátu - počet let, měsíců a dnů (formát text)

=DATEDIF(A1; B1; "y") & " let, " & DATEDIF(A1;B1;"ym") & "měsíců a " & DATEDIF(A1;B1,"md") & "dnů"

vzorec je chybný v případě, že

buňka A1 = 5.5.1862 (rok 1800),
v případě, že buňka

A1 = 23.6.1966 (rok 1900 a novější), jedná se o vzorec funkční.

Můžete mi poradit, zda vůbec je v Excelu 365 tento příklad vyřešit?

  • Perfektní příloha plně funkční, můžu tuto přílohu postoupit kolegovi.
  • NikolinoDE's avatar
    NikolinoDE
    Gold Contributor

    MIRAS195

    Váš vzorec by měl fungovat takto (stačí zkopírovat a vložit)

    =DATEDIF(A1; B1;"y") &" Jahre, "&DATEDIF(A1;B1;"ym") & " Monate und " & DATEDIF(A1;B1;"md") &" Tage"

    Zbývá zjistit, zda je výsledek takový, jaký chcete :).

     

    S vaším svolením bych doporučil následující (vzorový soubor je součástí):

    =DATEDIF(WENN(ISTTEXT(A1);LINKS(A1;LÄNGE(A1)-4)&WENN(A2="v";-1;1)*RECHTS(A1;4)*1+4000;A1);WENN(ISTTEXT(B1);LINKS(B1;LÄNGE(B1)-4)&RECHTS(B1;4)*1+4000;WENN(ISTTEXT(A1);DATUM(JAHR(B1)+4000;MONAT(B1);TAG(B1));B1));"Y")&" Years, "&DATEDIF(WENN(ISTTEXT(A1);LINKS(A1;LÄNGE(A1)-4)&WENN(A2="v";-1;1)*RECHTS(A1;4)*1+4000;A1);WENN(ISTTEXT(B1);LINKS(B1;LÄNGE(B1)-4)&RECHTS(B1;4)*1+4000;WENN(ISTTEXT(A1);DATUM(JAHR(B1)+4000;MONAT(B1);TAG(B1));B1));"Ym")&" Months, "&DATEDIF(WENN(ISTTEXT(A1);LINKS(A1;LÄNGE(A1)-4)&WENN(A2="v";-1;1)*RECHTS(A1;4)*1+4000;A1);WENN(ISTTEXT(B1);LINKS(B1;LÄNGE(B1)-4)&RECHTS(B1;4)*1+4000;WENN(ISTTEXT(A1);DATUM(JAHR(B1)+4000;MONAT(B1);TAG(B1));B1));"md")&" Days"

    Pozor!

    Je to maticový vzorec, ten je nutné vždy doplnit kombinací kláves CTRL+Shift+Enter.

     

    Jak vypočítat věk před 1.1.1900 v aplikaci Excel

    .Pokud máte postižený sešit otevřený v Excelu a otevřete Editor jazyka Visual Basic pomocí alt + F11, musíte vložit následující kód pro novou funkci v Excelu jako nový modul, uložit jej a spustit vzorec =AgeFunc(startdate,enddate) pro rozdíly v datech

     

    Hope I was able to help you with this info.

     

    NikolinoDE

    I know I don't know anything (Socrates)

     

    • MIRAS195's avatar
      MIRAS195
      Copper Contributor
      Moc, děkuji. V případě, že bych potřeboval, můžu se na Vás obrátit?, díky.
      • NikolinoDE's avatar
        NikolinoDE
        Gold Contributor
        Jsem rád, že jsem vám mohl pomoci.
        Vždy mě můžete kontaktovat na tomto fóru (také prostřednictvím soukromé zprávy, pokud cítíte potřebu), stejně jako ostatní uživatelé, kteří jsou stejně dobří, ne-li lepší, v pomoci.

        Autor tohoto textu tento jazyk neovládá (i když by chtěl), takže by text mohl obsahovat případné gramatické a/nebo výrazové chyby.

Resources