Forum Discussion

KH_end's avatar
KH_end
Occasional Reader
Feb 24, 2026

Weekday only calendar

I want to to create yearly calendars with each month in it's own block that auto populates with accurate dates (previously being done manually). The issue is I want the months to only account for Monday-Friday meaning the dates only need a 5x5 grid. Something like this:

2 Replies

  • = MAPλ(months, CALENDARλ)
    
    CALENDARλ = LAMBDA(monthIdx,
        LET(
            monthStart, DATE(year, monthIdx, 1),
            mGrid,      SEQUENCE(6,7,FLOOR(monthStart,7)),
            cleanMonth, IF(MONTH(mGrid)=MONTH(monthStart), DAY(mGrid), ""),
            monthTxt,   TEXT(monthStart, "MMM"),
            weekdays,   {"Mon","Tue","Wed","Thu","Fri"},
            days,       EXPAND(DROP(cleanMonth,,2),6,6,""),
            VSTACK(monthTxt, weekdays, days)
        )
    );

    This is based upon the m_tarler​ solution.  I set out to conform to the approach of only one formula per sheet so wanted the year calendar as one formula.

  • m_tarler's avatar
    m_tarler
    Bronze Contributor

    I will send file via private message.

    Here is the lambda I created:

    =LAMBDA(start_of_month,LET(
    mGrid,SEQUENCE(5,7,start_of_month+1-WEEKDAY(start_of_month,16)),
    cleanMonth,IFS(mGrid<start_of_month,"",mGrid>EOMONTH(start_of_month,0),"",1,DAY(mGrid)),
    DROP(cleanMonth,,2)))

    I gave a much more complete answer but this forum deleted it.  Feel free to ask me questions.