Why does a date turn into a number when joined with text?
Formula (Excel and Google Sheets)
=B2&" is due on "&TEXT(C2,"mmm d, yyyy")Joining uses the date's serial number. Format it with TEXT first: =B2&" is due on "&TEXT(C2,"mmm d, yyyy").
- Result on the example
- one result per row in
D2, filled down toD5 - Works in
- Every current version
- Google Sheets
- Same formula
See it work
The formula is already in D2, filled down to D5. Change any input and the result updates, or edit the formula to experiment.
How it works
Joining with & uses the value underneath the date, its serial number, so B2&" is due on "&C2 shows 46326. TEXT turns the date into text in the format you choose, "mmm d, yyyy" here, before it is joined.
=B2&" is due on "&TEXT(C2,"mmm d, yyyy")Result"Contoso is due on Oct 31, 2026"
B2"Contoso"The value in B2.
B2&" is due on ""Contoso is due on "The & operator joins as text.
C210/31/2026The value in C2.
TEXT(C2,"mmm d, yyyy")"Oct 31, 2026"TEXT: Formats a number or date as text, e.g. "mmm" or "$#,##0".- value
C210/31/2026 - format_text
"mmm d, yyyy"
- value
B2&" is due on "&TEXT(C2,"mmm d, yyyy")"Contoso is due on Oct 31, 2026"The & operator joins as text.
In Google Sheets
The same formula works in Google Sheets: =B2&" is due on "&TEXT(C2,"mmm d, yyyy"). We ran it in Google Sheets mode on the same data and it returns the same results.
Other ways to do it
Each one was run on the same example sheet.
| Formula | Result | When to use it |
|---|---|---|
| =B2&" is due on "&TEXT(C2,"m/d/yyyy") | Contoso is due on 10/31/2026, Fabrikam is due on 11/14/2026, Litware is due on 11/26/2026…Different result | Any date format code works inside TEXT. Shows dates like 10/31/2026. |
| =CONCAT(B2," is due on ",TEXT(C2,"mmm d, yyyy")) | Contoso is due on Oct 31, 2026, Fabrikam is due on Nov 14, 2026, Litware is due on Nov 26, 2026… | CONCAT joins the same pieces. |
Common mistakes
- In format codes, "mm" right after "h" means minutes. In date-only codes use "m" or "mm" for the month as usual.
- Numbers lose their formatting the same way: use
TEXT(D2,"$#,##0.00")for an amount in a sentence. - The result is text. Keep the real date in its own column for sorting and calculating.
Try it yourself
Same data, empty answer cell. Your formula is graded instantly, then re-checked on changed data, so a typed-in number won't pass.
Why does a date turn into a number when joined with text
D2, build the sentence "Customer is due on Mon D, YYYY" with the date readable, not a number. Fill down to D5.Questions
How do I include the weekday?
TEXT(C2,"dddd, mmm d") gives "Saturday, Oct 31".
How do I stop a number showing many decimals in a sentence?
Format it inside TEXT: TEXT(B2,"0.0").
Checked by running on 2026-10-30: every formula and result on this page was calculated by the Spreadsheet Practice formula engine, in both Excel and Google Sheets modes.