Stop Using CONCATENATE — Try This Instead for Adding Text Before

Yes, you can add text before existing content in Excel. But if you’re reaching for CONCATENATE or typing ="ID-"&A2 every time, you’re adding 3 extra seconds per cell—and that adds up fast when your sales team drops a 12,000-row lead list at 4:58 PM.

The Setup

We just got a raw export from our CRM—10 rows of contact data. No prefixes. No consistency. Marketing needs every email tagged with "MKT-" and every ID prefixed with "CUST-" before uploading to HubSpot. The sheet lives in Sheet1, with headers in row 1 and data starting at A2.

A: Full NameB: EmailC: Customer IDD: Last Contact
Sarah Chensarah@acmecorp.com789422024-03-15
James Riverajrivera@techflow.io102332024-04-02
Priya Mehtapriya@nexgenlabs.co556012024-02-28
Marcus Bellmbell@veridion.ai992042024-05-11
Lena Kimlena@stratosdev.com337712024-01-22
Diego Torresdtorres@bluecore.net884052024-03-30
Anya Patelanya@cloudspire.org221992024-04-18
Tariq Hassant.hassan@optivolt.co665132024-02-14
Nina Wunina.wu@quantumreach.net448822024-05-05
Eliot Frostefrost@novarise.co113272024-04-26

The Challenge

Marketing asked for two things: prepend "MKT-" to each email in column B, and "CUST-" to each Customer ID in column C. Simple, right? Except—column C has numbers (78942), not text. And some emails already have "MKT-" from last month’s test batch. You can’t just slap on another prefix without checking first. Also, this sheet gets updated daily. If you hardcode formulas in column E and F, someone will inevitably paste over them—or worse, copy-paste values and lose the logic.

Here’s what makes it tricky: Excel won’t let you edit multiple cells *in place* with a formula. You need a new column, then replace—but only after validating. And if you use =CONCATENATE("MKT-",B2), you’ll get #VALUE! if B2 is blank or contains an error. That’s how you discover at 5:15 PM that row 4,321 broke the whole import.

Walking Through It

Start in cell E2. Type: =IF(B2="","", "MKT-"&B2). Press Enter. Then select E2, grab the fill handle (small square bottom-right corner), and double-click—it auto-fills down to E11. That’s Alt+Enter for line breaks? No—that’s Ctrl+Enter for filling selected cells. But double-click is faster here.

Now for column C. In F2, enter: =IF(C2="","", "CUST-"&TEXT(C2,"0")). Why TEXT(C2,"0")? Because without it, Excel converts 78942 to "CUST-78942"—fine—but if C2 holds 10233.00 or 55601.5, you’ll get unwanted decimals. TEXT() forces clean integer output. This is the counterintuitive bit: prepending text to numbers isn’t about &—it’s about controlling number formatting *first*.

B: Email (before)E: Email (after)C: Customer ID (before)F: Customer ID (after)
sarah@acmecorp.comMKT-sarah@acmecorp.com78942CUST-78942
jrivera@techflow.ioMKT-jrivera@techflow.io10233CUST-10233
priya@nexgenlabs.coMKT-priya@nexgenlabs.co55601CUST-55601
mbell@veridion.aiMKT-mbell@veridion.ai99204CUST-99204

Still with me? Now highlight E2:F11. Press Ctrl+C. Right-click column B → Paste Special → Values. Do the same for column C. Then delete columns E and F. Done. No trace of formulas. Just clean, static prefixed text.

The Result

This is what Marketing actually receives—no formulas, no blanks, no decimal creep. Every email starts with "MKT-", every ID with "CUST-". And because we used IF() + TEXT(), rows with missing data stayed empty instead of spitting out "MKT-" or "CUST-0".

A: Full NameB: EmailC: Customer IDD: Last Contact
Sarah ChenMKT-sarah@acmecorp.comCUST-789422024-03-15
James RiveraMKT-jrivera@techflow.ioCUST-102332024-04-02
Priya MehtaMKT-priya@nexgenlabs.coCUST-556012024-02-28
Marcus BellMKT-mbell@veridion.aiCUST-992042024-05-11
Lena KimMKT-lena@stratosdev.comCUST-337712024-01-22
Diego TorresMKT-dtorres@bluecore.netCUST-884052024-03-30
Anya PatelMKT-anya@cloudspire.orgCUST-221992024-04-18
Tariq HassanMKT-t.hassan@optivolt.coCUST-665132024-02-14
Nina WuMKT-nina.wu@quantumreach.netCUST-448822024-05-05
Eliot FrostMKT-efrost@novarise.coCUST-113272024-04-26

What Could Go Wrong

Three real mistakes I’ve seen derail this exact task in the last two weeks:

SymptomCauseFix
"CUST-78942.00" appearsUsed ="CUST-"&C2 without TEXT()Replace with ="CUST-"&TEXT(C2,"0")
#VALUE! in E2B2 contains a #N/A error from a broken VLOOKUP upstreamWrap with IFERROR: =IFERROR(IF(B2="","", "MKT-"&B2), "")
Blank cells turn into "MKT-"Formula was ="MKT-"&B2 (no IF check)Always test for emptiness first: =IF(B2="","", "MKT-"&B2)
Michael Lee

Michael Lee

Michael covers the latest in office software updates