Palaa kuukauden lopetuspäivä - Excel-vinkit

Sisällysluettelo

Tony kirjoitti kysymyksellä, joka näyttää yksinkertaiselta, mutta vaatii melko monimutkaisen kaavan:

Juoksen Excel 97: tä ja haluan, että osa sarakkeessa K olevista päivämäärämuodostetuista soluista palauttaa päivämäärän, joka on kuukauden loppu, kun kirjoitan minkä tahansa kyseisen kuukauden päivän merkkijonoon G. Olen kokeillut EMONTHia Excelin varhaisesta versiosta, mutta en ole saanut sitä toimimaan tässä versiossa.

On olemassa muutama tapa ratkaista monet ongelmat Excelissä. Olen varma, että joku keksii jotain yksinkertaisempaa, mutta tällä hetkellä tämä kaava tulee mieleen:

=DATE(YEAR(E1),1+MONTH(E1),1)-1

DATE () -toiminto hyväksyy yleensä kolme argumenttia: vuosi, kuukausi ja päivä. Joten 13. joulukuuta 2001 voidaan kirjoittaa =DATE(2001,12,13).

Päivämäärätoiminto on myös melko anteeksiantava. Jos määrität virheellisen määrän kuukausia, kuten 13, se antaa oikean päivämäärän. =DATE(2001,13,1)tulee olemaan 1. tammikuuta 2002. Tämä tekee siitä erinomaisen toiminnon, kun joudut lisäämään tai vähentämään nykyistä päivämäärää.

Tämän ongelman ratkaisemisessa on helpompaa löytää seuraavan kuukauden ensimmäinen päivä ja vähentää sitten yksi päivä. Tämä on helpompaa, koska tiedämme, että seuraavan kuukauden ensimmäisen päivän päiväosa on aina 1. Jos yrität löytää tämän kuukauden viimeisen päivän, sinun on tarkistettava karkausvuodet jne. - se olisi yleensä sotku.

Jos sinulla on päivämäärä E1: ssä, YEAR (E1) palauttaa päivämäärän vuosiosuuden. Kuukausi (E1) +1 palauttaa päivämäärän kuukauden osan ja siirtää sen seuraavaan kuukauteen. Viimeinen argumentti, 1 valitsee seuraavan kuukauden ensimmäisen päivän. Lopuksi vähennän yhden tuosta päivämäärästä muuntaa 1.1.2001 31.12.2001.

Päivittää

Kiitos Steve H.: lle tästä out-of-the-box-vastauksesta. On epätavallista pitää kuukauden "0: ta", mutta se toimii!

=DATE(YEAR(E1),1+MONTH(E1),0)

Mielenkiintoisia artikkeleita...