Calligra Sheets MONTHNAME: Month Names, Locale and Examples
Learn Calligra MONTHNAME(number) for full localized month names, 12 worked examples, date-based labels and locale troubleshooting.
Verification status: Consult the documentation and examples below. Native application testing has not been documented for this guide. How formula examples are checked
Purpose and quick answer
MONTHNAME converts a numeric month from 1 to 12 into its localized full month name. An English-locale example is =MONTHNAME(5) with the KDE-documented result May; =MONTHNAME(1) has an expected output of January. The result is a text label, not a date value, so retain the source date separately when you need to sort or calculate. [K1, K3, K4, Q1]
Version and validation: This guide targets Calligra Sheets 26.08.2, released October 8, 2026, with code pinned to the KDE commit 72123cc643f6625351139e7df294544255a1056f. Calligra handbook, XML, C++ registration, implementation, localization wrapper and upstream Qt documentation were reviewed October 13, 2026. The sample names below are expected according to documentation/source and independent Gregorian month enumeration. No native Calligra execution or GUI screenshot was performed. [K1–K6]
Official syntax, argument order and types
=MONTHNAME(number)
| Position | Argument | Documented type | Valid range | Documented default |
|---|---|---|---|---|
| 1 | number |
Integer / whole number | 1–12 | None |
Calligra’s XML declares one integer parameter, text return type, syntax MONTHNAME(number) and MONTHNAME(5) returns May. The 26.08.2 C++ module registers new Function("MONTHNAME",func_monthname) and adds it, without an alternate name and without an explicit setParamCount call. Consequently, one integer is the intended official input; the exact Calligra behavior of omitted or additional parameters has not been established and must not be invented from the registration. There is no documented format switch, language argument or value for blank input. [K1–K3]
Locale implementation detail: The source converts the input using Calligra’s asInteger, passes it into calc->settings()->locale()->monthName(number), returns the resulting text and checks QString::isNull() for its internal value-error branch. Importantly, Calligra’s separate Localization::monthName wrapper uses Qt C++ QLocale::standaloneMonthName(number, LongFormat), not QLocale::monthName directly. The longFormat default selects full names, and the standalone grammatical form may differ from month names embedded in sentences in some languages. This is source inference, not an observed locale matrix. [K2–K4, Q1]
Numbering and formulas: In the C++ month API, 1=January through 12=December. Do not copy the zero-based month numbering from Qt QML/JavaScript interfaces into this C++-backed Calligra formula. MONTHNAME has only one argument and therefore no separator. The official Calligra handbook uses semicolons in multiargument formulas such as DATE(2024;2;29). Use the separator configured for the installed locale when reproducing nested examples. [K1, K3, K4]
Reproducible worksheet: all twelve months
Enter Month number in A1, Calculated name in B1, and Expected English name in C1. Fill A2:A13 with the integers 1 through 12, each as a numeric cell. Enter =MONTHNAME(A2) in B2 and copy it through B13. If your worksheet’s locale is English, the values in column B are expected to match the following. This table is a documentation/source-supported expectation; it is not a recorded native Calligra execution. [K1–K4, C1]
| Row | Numeric input A | Formula B | Expected English result B / reference C |
|---|---|---|---|
| 2 | 1 | =MONTHNAME(A2) |
January |
| 3 | 2 | =MONTHNAME(A3) |
February |
| 4 | 3 | =MONTHNAME(A4) |
March |
| 5 | 4 | =MONTHNAME(A5) |
April |
| 6 | 5 | =MONTHNAME(A6) |
May |
| 7 | 6 | =MONTHNAME(A7) |
June |
| 8 | 7 | =MONTHNAME(A8) |
July |
| 9 | 8 | =MONTHNAME(A9) |
August |
| 10 | 9 | =MONTHNAME(A10) |
September |
| 11 | 10 | =MONTHNAME(A11) |
October |
| 12 | 11 | =MONTHNAME(A12) |
November |
| 13 | 12 | =MONTHNAME(A13) |
December |
The official handbook directly confirms the May example. The other English names follow the 1–12 range and are independently enumerated using Python calendar.month_name[1:13], alongside the Qt API’s explicit January=1 example; this checks reference values, not native Calligra display behavior. [K1, K3, K4, Q1, C1]
Advanced case 1: derive a month name from a real date
Suppose E1 says Invoice date, F1 says Month number and G1 says Month name. Type =DATE(2024;2;29) into E2 to create a typed date; type =MONTH(E2) into F2; type =MONTHNAME(F2) into G2. The expected F2 value is 2 and the expected English G2 result is February. You can combine these two calls as =MONTHNAME(MONTH(E2)). The official Calligra handbook says MONTH extracts a numeric month and MONTHNAME converts its integer to localized text. [K1, K5, C2]
| Cell | Input/formula | Independently derived or source-inferred expectation |
|---|---|---|
| E2 | =DATE(2024;2;29) |
Typed date February 29, 2024 |
| F2 | =MONTH(E2) |
Integer 2 |
| G2 | =MONTHNAME(F2) |
Text February, assuming English locale |
| H2 | =MONTHNAME(MONTH(E2)) |
Text February, assuming English locale |
Don’t pass the date serial directly: =MONTHNAME(E2) supplies a complete date to a function documented for 1–12. Calligra’s integer coercion rules and invalid-input text were not executed; do not predict exactly which error string this mistake will display. The two-stage MONTH composition avoids ambiguous serial-date conversion. [K1, K3, K5]
Advanced case 2: sortable monthly dashboards
Use =MONTH(E2) as a numeric sorting key and =MONTHNAME(MONTH(E2)) as a display label. Alphabetic sorting of text month labels would place April before January; numeric sorting retains calendar order. For several years, group by both YEAR(E2) and MONTH(E2) before labeling—otherwise January 2024 and January 2025 are indistinguishable in the label column. Keep the original typed date for date arithmetic and charts. [K1, K5]
A fiscal year that starts in April does not change the meaning of MONTHNAME(1): that still labels January in the documented numbering. A fiscal-month index is a separate business transformation. Compute it in a helper column as needed, but use the calendar month for the displayed real-world month name. None of these dashboard suggestions implies the output labels were executed or visually checked in native Calligra. [K1, K4, C2]
Error handling and limitations: verify before production
- Wrong type of argument:
MONTHNAMEis documented for one whole-number month index, not a string such as"May", a date cell, a decimal, a Boolean or an empty cell. The C++ function calls Calligra’s integer conversion, but the exact result of coercing those inputs was not tested. Do not assert Excel’s or LibreOffice’s coercion rules as Calligra evidence. [K1–K3] - Outside the valid range:
=MONTHNAME(0),=MONTHNAME(13)and negatives are beyond the documented 1–12 contract. Code checks forQString::isNull()and can return an internal value error, but we cannot guarantee the precise on-screen error or that every invalid number produces a null rather than some other string. Native validation is required. [K1–K4] - Too few/too many arguments: The XML describes one integer and no optional inputs, although the C++ registration itself has no
setParamCount(1)call. Do not rely on=MONTHNAME()or=MONTHNAME(3;2), and do not claim a specific parser error until executed. [K1, K2] - Unexpected language: Names follow Calligra’s workbook locale via the standalone Qt month-name API. A non-English workbook can legitimately differ from the English expected-results table, including grammatical form. Use the numeric MONTH result for logic rather than comparing text to
"March". [K3, K4, Q1] - Unexpected abbreviated name: MONTHNAME’s pinned wrapper defaults to
LongFormat. There is no documented Calligra second argument for requestingShortFormat. A display cell that looks abbreviated may be a different formula or a custom date format. [K1, K4] - Imported formulas: A
MONTHNAMEformula in Calligra must not be assumed recognized in Microsoft Excel or another spreadsheet. Check available vendor functions before distributing a cross-platform workbook. [K1, M1]
Compatibility: Microsoft Excel and other engines
In Calligra, MONTHNAME(5) is documented as May; a date-based month label is MONTHNAME(MONTH(E2)). In Microsoft Excel, Microsoft’s official help shows TEXT(TODAY(),"dddd, mmmm dd") for displaying day and month text from a date. The corresponding Excel-only pattern for a full month is =TEXT(E2,"mmmm") using Excel’s documented mask. That example is not proof that Calligra’s TEXT masks or month-name function work like Excel’s. We have not verified equivalent names, argument types and locale details for Google Sheets, LibreOffice Calc, OpenOffice Calc, Numbers, PlanMaker, Zoho Sheet or other engines; do not advertise universal compatibility. [K1, M1]
Related references and link check
The KDE MONTHNAME handbook entry describes the exact syntax and May example. The KDE MONTH function entry explains converting a date to a numeric month, and the Qt QLocale documentation explains full name and month indexing in the C++ API. These external documentation links were checked October 13, 2026. [K1, K5, Q1]
Official sources, claim trace and validation
| ID | Claim | Version-pinned or vendor documentation, accessed 2026-10-13 |
|---|---|---|
| K1 | MONTHNAME(number) accepts 1–12 and returns text, MONTHNAME(5) = May |
KDE MONTHNAME handbook |
| K2 | Release registration, no documented second argument, no alias | Calligra 26.08.2 datetime.cpp lines 140–143 and official XML |
| K3 | Implementation converts integer and tests null localized month name | Calligra 26.08.2 datetime.cpp lines 553–562 |
| K4 | Actual wrapper calls QLocale::standaloneMonthName(LongFormat) |
Calligra Localization.cpp lines 433–441 and header |
| K5 | MONTH extracts a number from a date; DATE builds a typed date | KDE MONTH and DATE handbook entries |
| Q1 | Qt C++ month indices and long standalone names | Qt’s official C++ QLocale class |
| K6 | Version/release date | KDE Calligra application metadata |
| M1 | Excel TEXT mask mmmm is a separate-vendor alternative |
Microsoft Excel text in formulas |
| C1 | Expected English names from January to December | Independently enumerated with Python calendar.month_name[1:13]; not native execution |
| C2 | February 29, 2024 is in month 2 | Independently verified with Python datetime.date(2024,2,29).month == 2; nested formula is expected, not observed |
Testing limitation: Native workbook locale, import behavior and visible errors remain untested.