Make a calendar in Excel

April 13, 2005 by admin  
Filed under best of, tips and tricks

UPDATE II: just in case you don’t read the comments, J-Walk provided a pointer to a super-deluxe version.
UPDATE:
replaced a missing comma–thanks Thomas and morrisok!

Just ran across some old notes and thought I’d post them here so I don’t forget (not sure, but this probably came from J-Walk). Enjoy.

Make a calendar in Excel:

=IF(MONTH(DATE(YEAR(NOW()),MONTH(NOW()),1))
<>MONTH(DATE(YEAR(NOW()),MONTH(NOW()),1)-
(WEEKDAY(DATE(YEAR(NOW()),MONTH(NOW()),1))-1)+
{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1),"",DATE(YEAR(NOW()),
MONTH(NOW()),1)-(WEEKDAY(DATE(YEAR(NOW()),
MONTH(NOW()),1))-1)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1)

To use it:

1. Copy the formula text to the clipboard
2. Activate an Excel sheet and select a 7-col by 6-row range
3. Press F2
4. Press Ctrl+V to paste the formula into the active cell
5. Press Ctrl+Shift+Enter (to make it a multicell array formula)
6. Format the cells using the "Date" number format.

Voila! You have a calendar for the current month.

Share and Enjoy:
  • StumbleUpon
  • Digg
  • Facebook
  • Mixx
  • Google
  • TwitThis
  • Reddit
  • Yahoo! Buzz
  • Tipd
  • E-mail this story to a friend!

Comments

12 Responses to “Make a calendar in Excel”
  1. morrisok says:

    You were missing a comma somewhere in the formula (in the last Date formula I think). This one works:

    =IF(MONTH(DATE(YEAR(NOW()),MONTH(NOW()),1))
    MONTH(DATE(YEAR(NOW()),MONTH(NOW()),1)-
    (WEEKDAY(DATE(YEAR(NOW()),MONTH(NOW()),1))-1)+
    {0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1),”",
    DATE(YEAR(NOW()),MONTH(NOW()),1)-
    (WEEKDAY(DATE(YEAR(NOW()),MONTH(NOW()),1))-1)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1)

  2. Tyson says:

    Are you kidding me? You must be a slacker if you have time to do worthless tasks like this.

    Just double click on the clock in the bottom right hand corner of your screen. Poof-trick, there is your fancy calendar.

  3. J-Walk says:

    If you like that, you’ll like this version even better:

    http://j-walkblog.com/old/2004/12/18/

  4. dforester says:

    Depending on your needs, you can also use the calendar control - It creates an object rather than filling the calendar in cells, which you can wire up with VB, etc.

    - View… Toolbars… Control Toolbox
    - Choose the bottom-left for “More Controls”
    - Choose “Calendar Control 11.0″ (or whatever version)
    - Place & size it how you like.

  5. vex says:

    Why not enter the first day of the month manually and then use the Excel “fill” feature? Just drag the mouse and fill the cells with values.

  6. Bren says:

    dforester: great suggestion–I didn’t know about the Calendar Control!

    vex: your suggestion will work, depending on your calendar needs. That method will make dates, but only in a column or row–not both. Also, it’s not dynamic, so it won’t auto-update when you open the sheet in the following month.

  7. Rob says:

    OK, I gotta admit, you lost me on this one. I think this is where the generational thing starts to happen, and my lack techpertise really begins to show…

  8. Tyson says:

    This reminds me of this mousetrap I saw in The Shaper Image.

  9. Mark says:

    Brilliant! Didnt work!

    Thanks!

  10. Stuart Gillingham says:

    why did no-one consider doing some simple conditional formatting so that todays date is highlighted.

  11. benji says:

    anyone know how to make this calander work as part of a conditional formula. ie: a formula that will reference this calander to EXCLUDE days like weekends and holidays? Sort of (>if, the formula happens to calculate a day that falls on a weekend < then skip to the next weekday)?

    I’m not a programer…

    thanks.

Trackbacks

Check out what others are saying about this post...
  1. Lifehacker says:

    Instant Excel calendar

    Weblog Slacker Manager’s got the monster of all Excel formulas which creates a calendar for the current month. Very handy for spreadsheets that need a lil’ date reference included. Make a calendar in Excel [Slacker Manager]…




About Us | Advertise with us | Blog for Bizzia | Privacy Policy | Terms of Use
Get This Theme


All content is Copyright © 2005-2009 b5media. All rights reserved.