Excel Practice Test

โ–ถ

The Excel LEFT function pulls characters from the start of a text string. You feed it a value and a count, and it gives back that many characters from the leftmost side. Sounds simple โ€” and it is, for short tasks. The trick is using it well when text gets messy: SKU codes glued to descriptions, names with inconsistent spacing, exports from systems that bury the data you actually want.

This guide walks through the LEFT function from the syntax up to nested combinations with FIND, SEARCH, LEN, and VALUE. You will see real examples, the errors that trip people up, and the dynamic-array tricks that turn a one-cell formula into a whole column of clean output. By the end, extracting prefixes, area codes, ticker symbols, or first names will feel routine.

LEFT Function At A Glance

2
Arguments
1
Default num_chars
#VALUE!
Error on negative count
Text
Return type (always)

LEFT takes two arguments. The first is the text โ€” either a literal string in quotes, a cell reference, or another formula that returns text. The second is num_chars, the number of characters you want back. If you omit num_chars, Excel defaults to 1 and returns just the first character.

=LEFT(A1, 3) grabs the first three characters from whatever sits in A1. If A1 holds "Practice", you get "Pra". If A1 contains a number like 12345, LEFT still works โ€” Excel coerces the number to text first, so the result is "123" as a text string, not the number 123. That distinction matters when you chain LEFT into arithmetic or comparison logic.

What happens when num_chars exceeds the string length? Nothing breaks. LEFT just returns the entire string. That forgiving behavior is convenient but also masks bugs: if you expect a 5-character prefix and the cell only has 3 characters, you will not see an error, just a shorter result than planned. A LEN check or an IFERROR wrapper catches that silently.

The num_chars argument must be non-negative. A negative number throws #VALUE!. Zero returns an empty string, which is sometimes what you want when conditionally extracting nothing. Decimals are truncated โ€” LEFT("Hello", 2.9) returns "He", not three letters.

Syntax Reminder

=LEFT(text, [num_chars]) โ€” text is the source string (literal, cell reference, or formula returning text), num_chars is how many characters to return from the left side. Omit num_chars and you get just the first character. Negative values throw #VALUE!. Decimals are truncated down. If num_chars exceeds the string length, LEFT returns the entire string without error.

Start with a single-cell example. Put "Excel-Spreadsheet-2026" in A2. The formula =LEFT(A2, 5) returns "Excel". Drag the formula down and it adapts to whatever sits in the column. That is the everyday use case: a clean fixed-width prefix you want to peel off thousands of rows.

Real data rarely cooperates. Suppose your codes look like "EX-001", "EXC-002", "EXCEL-003" โ€” the prefix length changes. A static =LEFT(A2, 3) works for the first row and breaks for the rest. The fix is to find the delimiter and feed its position to LEFT. That brings FIND or SEARCH into the picture, which the next section unpacks.

Another common job is grabbing first names from a "First Last" column. If names always have a single space, =LEFT(A2, FIND(" ", A2) - 1) works. Subtract 1 so the space itself is not included. This formula is one of the most-typed Excel formulas of all time, but it assumes every cell has a space. If somebody enters just a single name, FIND returns #VALUE! and the whole formula breaks. Wrap with IFERROR for production sheets.

Three Quick LEFT Examples

๐Ÿ”ด Fixed prefix

=LEFT(A2, 5) on "Excel-2026" returns "Excel". Simplest possible use โ€” when you know the exact character count in advance, no nested logic needed.

๐ŸŸ  First name

=LEFT(A2, FIND(" ", A2) - 1) on "Jane Smith" returns "Jane". Find the space, subtract one to exclude it. Wrap with IFERROR if some cells lack spaces.

๐ŸŸก Surname

=LEFT(A2, FIND(",", A2) - 1) on "Smith, Jane" returns "Smith". Different delimiter, same pattern. Works for any single-character delimiter โ€” colon, semicolon, pipe.

LEFT shines when paired with FIND or SEARCH because those functions return a position number โ€” exactly what num_chars wants. FIND is case-sensitive and faster; SEARCH is case-insensitive and accepts wildcards. Use FIND when you know the case of your delimiter; use SEARCH when input is inconsistent.

To split "Last, First" into just the surname: =LEFT(A2, FIND(",", A2) - 1). Same pattern, different delimiter. To grab everything before the first digit, mix SEARCH with a wildcard array โ€” =LEFT(A2, MIN(IFERROR(SEARCH({"0","1","2","3","4","5","6","7","8","9"}, A2), 9999)) - 1) โ€” and the formula returns the alphabetic prefix even when digits appear at different positions. The MIN-IFERROR trick handles cases where some digits never appear; those return #VALUE! which IFERROR converts to a high number that MIN ignores.

For URLs, extracting the domain looks like =LEFT(A2, FIND("/", A2, 9) - 1) after stripping "https://". The "9" tells FIND to start searching after the "https://" prefix. You can also nest: =LEFT(SUBSTITUTE(A2, "https://", ""), FIND("/", SUBSTITUTE(A2, "https://", "")) - 1). Verbose but bulletproof when URLs come in mixed http/https form.

Watch out for FIND failing silently. If the delimiter is not in the string, FIND returns #VALUE!, which propagates up. Always wrap critical extractions in IFERROR with a sensible fallback โ€” either the full string, an empty string, or a flag like "NO_DELIMITER" that you can filter on later.

FIND vs SEARCH Inside LEFT

๐Ÿ“‹ FIND

Case-sensitive, no wildcards, slightly faster on big sheets. Use when you know the exact case of your delimiter. FIND("A", "banana") returns #VALUE! because banana has no uppercase A. Perfect for system-generated codes where case is consistent. Always pair with IFERROR when the delimiter might be missing.

๐Ÿ“‹ SEARCH

Case-insensitive, supports wildcards * (any chars) and ? (single char). Slightly slower than FIND. SEARCH("a", "BANANA") returns 2 โ€” it matches both cases. Use when input case varies, like user-entered data or imports from multiple systems. Wildcards make it powerful for pattern-like matching without going to regex.

๐Ÿ“‹ Hybrid

Use IFERROR(FIND(...), SEARCH(...)) to prefer case-sensitive when possible and fall back to case-insensitive otherwise. Useful when most rows have consistent case but a few outliers slipped through. The hybrid pattern catches both the strict and the loose matches in a single formula without separate columns.

Numbers get tricky. LEFT always returns text โ€” even when the source is a number and the result looks like a number. If you LEFT a phone number "5551234567" with 3 characters, you get "555" as text. Trying to do arithmetic on that result requires VALUE: =VALUE(LEFT(A2, 3)) coerces it back to a number.

Why does it matter? Because text "555" and number 555 behave differently in lookups, comparisons, and sorting. A VLOOKUP that searches for the number 555 will miss a cell holding the text "555". Mixed data types in a key column is one of the most common silent failures in Excel.

For currency or formatted values, LEFT operates on the raw underlying value, not what you see. If A2 displays "$1,234" but actually holds 1234, LEFT(A2, 1) returns "1" โ€” not "$". To work on the displayed text, use TEXT first: =LEFT(TEXT(A2, "$#,##0"), 1) returns "$". This is the difference between cell value and cell format, and it bites everyone at least once.

Dates are a classic trap. A cell showing "5/14/2026" actually holds the serial number 46535. =LEFT(A2, 4) returns "4653", not "5/14". To split a displayed date, convert with TEXT: =LEFT(TEXT(A2, "m/d/yyyy"), 1). Always check the underlying value before applying LEFT to anything that looks like a number.

LEFT rarely lives alone in advanced workflows. The most useful companions are RIGHT, MID, LEN, FIND, SEARCH, SUBSTITUTE, and TRIM. Together they form a small text-processing toolkit that handles the bulk of cleaning tasks before data hits a pivot or a chart.

To extract everything except the last 4 characters: =LEFT(A2, LEN(A2) - 4). Useful for stripping file extensions or trailing tags. The mirror operation โ€” everything except the first N โ€” uses MID: =MID(A2, N+1, LEN(A2)).

To remove a fixed suffix conditionally: =IF(RIGHT(A2, 4) = ".csv", LEFT(A2, LEN(A2) - 4), A2). Only strips when the suffix matches, leaves the rest alone. Wrap multiple of these in nested IFs or use SWITCH for cleaner code.

For multi-word splits where you want the first two words, find the position of the second space: =LEFT(A2, FIND(" ", A2, FIND(" ", A2) + 1) - 1). The inner FIND locates the first space; the outer FIND starts looking after that. Add another FIND for three words, and so on. Past three levels of nesting, switch to TEXTSPLIT (Excel 365 / 2024+) which returns an array of pieces directly. Our Excel cheat sheet lists the full set of text functions side by side.

Five LEFT Combos To Memorize

LEFT(A2, LEN(A2) - 4) โ€” drop the last 4 characters
LEFT(A2, FIND(" ", A2) - 1) โ€” first word only
LEFT(A2, FIND("@", A2) - 1) โ€” email username
IFERROR(LEFT(A2, FIND("-", A2) - 1), A2) โ€” safe prefix extraction
VALUE(LEFT(A2, 3)) โ€” coerce numeric result back to number

Modern Excel (365 and 2024) supports dynamic arrays, which transforms LEFT from a single-cell tool into a column-wide engine. Type =LEFT(A2:A100, 3) in B2 and the result spills down 99 rows automatically. No drag, no fill handle, no maintenance. Add a row to A and B updates next refresh.

Spill behavior pairs beautifully with SEQUENCE for character-by-character extraction: =MID(A2, SEQUENCE(LEN(A2)), 1) splits a string into single characters. Combine with LEFT for progressive truncation: =LEFT(A2, SEQUENCE(LEN(A2))) returns "P", "Pr", "Pra"โ€ฆ up through the full string. That is a debugging trick โ€” see exactly what each LEFT length produces.

If you see a #SPILL! error, an adjacent cell is blocking the result. Clear it or move the formula. The new Excel spill error behavior is strict โ€” even a single non-empty cell in the target range stops the formula cold. Versions before 365 lack spill; those users still drag or use array formulas with Ctrl+Shift+Enter.

Combine LEFT with FILTER and UNIQUE for instant prefix dashboards. =UNIQUE(LEFT(A2:A1000, 3)) returns one row per distinct three-letter prefix in column A. Pair with COUNTIF and you have a prefix-frequency table in two formulas. The kind of summary that used to require a pivot or PowerQuery now fits in two cells.

Take the Excel Practice Test

LEFT is fast. On a 100,000-row column, it evaluates in milliseconds. Performance only becomes a concern when you nest expensive functions inside or call it inside another iterating function like SUMPRODUCT over a huge range.

If your LEFT formula references the entire column (A:A instead of A2:A1000), Excel evaluates every row including blanks. For 1,048,576 rows that adds up. Always bound your ranges, or convert the input to a Table โ€” Tables auto-resize and Excel optimizes calculations.

Volatile function combinations slow things down. INDIRECT inside LEFT, for example, forces recalculation on every change anywhere in the workbook. Avoid INDIRECT when a direct reference or named range will do. Same warning applies to OFFSET and TODAY when nested inside LEFT.

For massive datasets, consider Power Query instead. PQ handles text splitting natively, runs once during refresh, and writes static values to the sheet. LEFT and friends stay live in the formula grid but recalculate on every change. For one-time imports, PQ wins; for ongoing dashboards that need real-time updates, formulas win. Our Excel Power Query guide compares the two approaches.

LEFT vs Power Query for Text Extraction

Pros

  • Live recalculation on data changes
  • Works in any Excel version including older builds
  • Simple two-argument syntax
  • Pairs natively with FIND, SEARCH, IFERROR
  • No setup, just type the formula

Cons

  • Recalculates on every workbook change (slow on huge sheets)
  • Returns text only โ€” needs VALUE() for numeric work
  • Verbose for multi-step transformations
  • Errors cascade silently when delimiters are missing
  • Nested LEFT formulas hard to debug past three levels

The two errors LEFT produces are #VALUE! and #NAME?. #NAME? means you misspelled LEFT โ€” rare unless you typo. #VALUE! is the real culprit and has three common causes.

First cause: num_chars is negative. =LEFT(A2, FIND(" ", A2) - 5) works only if the space is at position 5 or later. If the space is earlier, num_chars goes negative and #VALUE! appears. Guard with MAX: =LEFT(A2, MAX(0, FIND(" ", A2) - 5)) clamps to zero.

Second cause: nested FIND or SEARCH fails. If the delimiter is missing, FIND returns #VALUE! and that cascades up. IFERROR is the universal fix: =IFERROR(LEFT(A2, FIND(" ", A2) - 1), A2) returns the full string when no space exists.

Third cause: non-text input that cannot coerce. Errors propagate โ€” if A2 already holds #N/A or #REF!, LEFT cannot convert it. Use IFERROR around the entire formula or fix the upstream error first. Hidden characters like non-breaking spaces (CHAR(160)) also cause unexpected lengths; CLEAN and TRIM before applying LEFT solves most of those cases.

Excel for the Web and Excel for Mac handle LEFT identically to Windows, with one wrinkle: keyboard shortcuts for selecting the formula bar differ across platforms. For deeper command coverage by OS, see our insert row shortcut Excel reference.

Real-World LEFT Patterns

๐Ÿ”ด Account codes

SKUs like "PROD-12345" โ†’ use =LEFT(A2, FIND("-", A2) - 1) to grab "PROD". Combine with VLOOKUP into a code table to pull category names from a master sheet.

๐ŸŸ  Email usernames

For matching email to user records: =LEFT(A2, FIND("@", A2) - 1) returns everything before the @ symbol. Useful when systems format usernames inconsistently and you need a join key.

๐ŸŸก Timestamps

Convert "2026-05-14 13:45:22" into a date-only string with =LEFT(A2, 10). Great for grouping by day in pivots when datetime columns include unwanted time portions.

๐ŸŸข Trailing notations

Strip "(updated)" or "[v2]" suffixes with =TRIM(LEFT(A2, FIND("(", A2) - 1)). TRIM cleans the trailing space; wrap in IFERROR so non-parenthesized rows pass through unchanged.

Real Excel work uses LEFT for routine cleaning tasks. Five patterns cover roughly 80 percent of business uses.

Pattern one: extracting account or product codes. SKUs like "PROD-12345" need just the prefix. =LEFT(A2, FIND("-", A2) - 1) handles it. Combine with VLOOKUP into a code table to pull category names.

Pattern two: parsing email addresses. To get the username before the @ sign: =LEFT(A2, FIND("@", A2) - 1). Useful for matching email to user records when systems format names differently.

Pattern three: timestamp formatting. If a cell holds "2026-05-14 13:45:22", =LEFT(A2, 10) returns the date portion as text. Useful for grouping by day in pivots, since date-typed columns may include time. Combining with our how to change date format in Excel tutorial completes the pipeline.

Pattern four: file path manipulation. From "C:\Users\Name\Documents\file.xlsx", grab the folder with =LEFT(A2, FIND("file.xlsx", A2) - 1). More flexible: find the last backslash by counting occurrences with SUBSTITUTE. A pattern like =LEFT(A2, FIND("|", SUBSTITUTE(A2, "\", "|", LEN(A2) - LEN(SUBSTITUTE(A2, "\", "")))) - 1) returns everything before the last backslash. Heavy syntax but reliable.

Pattern five: removing trailing notations. Reports often end with "(updated)" or "[v2]". To strip everything after the first parenthesis: =TRIM(LEFT(A2, FIND("(", A2) - 1)). TRIM cleans the trailing space. Wrap in IFERROR so cells without parentheses keep their original text.

Practice Excel Formula Questions

LEFT has been in Excel since the early versions, alongside its siblings RIGHT and MID. It predates Power Query, dynamic arrays, and most of the modern text-handling features by decades. That longevity is part of why every Excel course teaches it in week one โ€” the function works the same in Excel 95 as in Excel 365, give or take dynamic array spill behavior.

What has changed is the ecosystem around it. Excel 2024 added TEXTBEFORE and TEXTAFTER, which simplify many LEFT-with-FIND patterns. =TEXTBEFORE(A2, " ") replaces =LEFT(A2, FIND(" ", A2) - 1) with cleaner syntax and built-in error handling. If you are on a recent version, TEXTBEFORE is often the better choice for delimiter-based extractions.

That said, LEFT remains the right tool when you need a literal character count rather than a position-based split, or when working in older versions where TEXTBEFORE does not exist. Knowing both lets you pick the cleanest formula for the situation. The next section compares LEFT against newer alternatives directly.

When should you reach for LEFT versus a newer or different function? The decision usually comes down to what you know in advance โ€” the count or the delimiter.

If you know exactly how many characters to extract, LEFT is the simplest tool. Fixed-width data like ISBNs, SSNs (extracting area codes), or stock tickers fits LEFT perfectly. =LEFT(A2, 3) beats anything else in clarity.

If you know the delimiter but not the count, FIND or SEARCH inside LEFT works, but TEXTBEFORE works better on Excel 2024+. =TEXTBEFORE(A2, "-") is shorter, handles missing delimiters natively (returns #N/A which you can wrap), and reads more naturally. For older Excel, stick with LEFT plus FIND plus IFERROR.

If you need to split into multiple parts, TEXTSPLIT (Excel 2024+) outperforms chained LEFT and MID calls. =TEXTSPLIT(A2, "-") returns an array of all pieces. Way cleaner than constructing each piece separately. For older versions, Power Query is the better choice for multi-part splits.

For variable-position extractions with complex rules, consider regex via the new =REGEXEXTRACT function in Excel 365 (rolled out in 2024). LEFT cannot match patterns, only positions. Regex handles cases like "extract everything up to the first digit" with a single pattern instead of nested array formulas.

When To Pick Which Function

๐Ÿ”ด Fixed count โ†’ LEFT

You know how many characters in advance โ€” ISBN prefixes, ticker symbols, area codes. LEFT(text, n) is the shortest and clearest. No need for FIND, no IFERROR overhead. Works in every Excel version ever shipped.

๐ŸŸ  Known delimiter โ†’ TEXTBEFORE

Excel 2024+ ships TEXTBEFORE(text, delim) which beats LEFT+FIND for clarity. Handles missing delimiters natively. Older versions stick with =LEFT(A2, FIND("-", A2) - 1) wrapped in IFERROR for safety.

๐ŸŸก Pattern matching โ†’ REGEXEXTRACT

Excel 365 added regex functions in 2024. Use REGEXEXTRACT(text, pattern) for rules like "everything before the first digit" or "all letters before a vowel". Way cleaner than nested LEFT array formulas.

๐ŸŸข Multiple pieces โ†’ TEXTSPLIT

When you need every part โ€” first, middle, last, suffix โ€” TEXTSPLIT returns an array. Faster to write than three separate LEFT/MID/RIGHT formulas, and the result spills automatically into adjacent cells.

LEFT is one of those Excel functions that earns its keep through ubiquity, not complexity. Two arguments, one job โ€” pull characters from the start of a string. The depth comes from combining it with FIND, SEARCH, LEN, SUBSTITUTE, and IFERROR to handle messy real-world data.

Practice on actual data. Grab a column from any export โ€” invoices, contacts, product lists โ€” and try extracting the prefixes, codes, or first words. You will hit edge cases fast: missing delimiters, inconsistent spacing, hidden characters. Each one teaches a new wrapper or guard function.

For deeper Excel skills, work through our sum formula in Excel, find and replace in Excel, and transpose in Excel tutorials. Each function multiplies the value of the others. Test what you have learned with our Excel practice quizzes below.

LEFT Function Mastery Checklist

I can write =LEFT(A2, n) for a fixed character count without thinking
I know to subtract 1 from FIND results to exclude the delimiter character itself
I always wrap delimiter-based LEFT formulas in IFERROR for cells missing the delimiter
I use VALUE() to coerce LEFT results back to numbers when needed for arithmetic or VLOOKUP
I recognize that LEFT on a date serial number returns digits of the serial, not the formatted date
I check Excel version before using TEXTBEFORE, TEXTSPLIT, or REGEXEXTRACT alternatives
I avoid INDIRECT and OFFSET inside LEFT formulas to keep workbooks responsive
I bound ranges explicitly (A2:A1000) rather than full-column references (A:A)
Try the Microsoft Excel Exam

Excel Questions and Answers

What does the LEFT function do in Excel?

LEFT returns a specified number of characters from the start of a text string. Syntax is =LEFT(text, [num_chars]). If num_chars is omitted, LEFT defaults to 1 and returns just the first character.

Why is my LEFT formula returning #VALUE!?

Three common causes: num_chars is negative (often because FIND or SEARCH inside it returned a smaller number than expected), the inner FIND failed because the delimiter is missing, or the input cell contains an upstream error. Wrap with IFERROR or use MAX(0, ...) on the num_chars argument to guard against negatives.

Does LEFT work on numbers?

Yes, but the result is always text. Excel converts the number to its string representation first. To use the result in arithmetic or numeric lookups, wrap with VALUE: =VALUE(LEFT(A2, 3)). Be careful with dates โ€” LEFT operates on the underlying serial number, not the displayed date format.

How do I get the first word from a cell?

Use =LEFT(A2, FIND(" ", A2) - 1). FIND locates the first space, subtracting 1 excludes the space itself. Wrap with IFERROR so cells without any space return the whole string instead of #VALUE!: =IFERROR(LEFT(A2, FIND(" ", A2) - 1), A2).

What is the difference between LEFT and MID?

LEFT pulls characters from the start. MID pulls from any starting position. =LEFT(A2, 3) returns the first three characters. =MID(A2, 4, 3) returns three characters starting at position 4. Use MID when you need characters that are not at the beginning.

Can LEFT extract a variable number of characters?

Yes, the num_chars argument can be a formula. Common patterns nest FIND or SEARCH to locate a delimiter and pass that position to LEFT. Example: =LEFT(A2, FIND("-", A2) - 1) extracts everything before the first dash, regardless of length.

Does LEFT support dynamic arrays?

Yes, in Excel 365 and Excel 2024+. =LEFT(A2:A100, 3) spills results down 99 rows automatically. Older versions need a drag-fill or array formula entered with Ctrl+Shift+Enter. Watch for #SPILL! errors when adjacent cells block the output range.

How is LEFT different from LEFTB?

LEFT counts characters; LEFTB counts bytes. For single-byte languages like English, they behave the same. For double-byte languages like Japanese, Chinese, or Korean, LEFTB treats each character as 2 bytes. Use LEFT for almost all general purposes unless you specifically need byte-level control.
โ–ถ Start Quiz