ASC function

ASC converts full-width (double-byte) characters in a text string to their single-byte ASCII equivalents, returning a normalized plain-text result.

=ASC(text)

Generate a ASC formula

Describe what you need. The generator will reach for ASC where ASC is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

How ASC reads its arguments
textrequiredASC
ArgumentRequiredDescription
textRequiredA required text argument; if omitted or non-text, Excel coerces or returns #VALUE! for unsupported characters.

Returns

ASC returns a single-cell text string of the same size as the input.

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Normalize SKU codes

SKUWarehouseOn HandReorder PointCost
ABC123East503015.00
=ASC(A2)

Result: ABC123

The SKU in A2 contains full-width letters ABC. ASC converts each of those to their half-width counterparts, producing the plain-text code ABC123. This is useful when matching SKU values against external systems that expect standard ASCII.

2. Standardize warehouse names for lookup

SKUWarehouseOn HandReorder PointCost
XYZ789North20158.50
=ASC(B2)

Result: North

The warehouse name in B2 is stored with full-width characters (North). ASC strips the double-byte formatting, yielding the regular string North. After conversion you can safely use VLOOKUP or XLOOKUP against a list that contains plain-text region names.

3. Convert full-width cost strings to numbers

SKUWarehouseOn HandReorder PointCost
LMN456West754015.00
=ASC(E2)

Result: 15.00

The cost in E2 uses full-width digits and a full-width period (15.00). ASC changes them to ordinary ASCII digits and a period, producing the text "15.00". You can then wrap the result in VALUE() to turn it into a numeric value for calculations.

Common errors

Which ASC error are you seeing?
ASC returned an error#VALUE!
Remove or replace those characters with SUBSTITUTE before calling ASC, or use CLEAN to strip non-printable symbols.
#N/A
Wrap the reference in IFNA or IFERROR to supply a fallback string before applying ASC.
#REF!
Correct the cell reference so it points to an existing cell that contains the text you wish to normalize.
ErrorWhy it happensHow to fix it
#VALUE!The text argument contains characters that have no half-width equivalent, such as emojis or certain Asian punctuation.Remove or replace those characters with SUBSTITUTE before calling ASC, or use CLEAN to strip non-printable symbols.
#N/AThe referenced cell itself contains the #N/A error, which propagates through ASC because it cannot operate on an error value.Wrap the reference in IFNA or IFERROR to supply a fallback string before applying ASC.
#REF!The formula points to a cell that has been deleted or to an invalid range, causing a reference error.Correct the cell reference so it points to an existing cell that contains the text you wish to normalize.

Tips and when to use something else

  • Use CLEAN first if you suspect hidden control characters that ASC will ignore.
  • Combine ASC with SUBSTITUTE when you need to replace a specific full-width symbol with something else.
  • If you only need to change case, use UPPER, LOWER, or PROPER instead of ASC.
  • For numeric conversion after ASC, wrap the result in VALUE() to get a true number.

Frequently asked questions

Can ASC be used to convert Japanese Katakana to Roman letters?
No. ASC only changes character width; it does not perform transliteration. To convert Katakana to Roman letters you would need a custom mapping or a language-specific function, not ASC.
Why does ASC return the same string when the input is already ASCII?
ASC only modifies full-width characters. If the input contains only standard half-width ASCII characters, there is nothing to change, so the function returns the original text unchanged.
Does ASC work on whole columns or arrays?
ASC expects a single text value. Supplying a range returns #VALUE! because the function cannot process multi-cell arrays directly. Use BYROW or BYCOL to apply ASC to each cell individually.
How does ASC differ from the TEXT function?
TEXT formats numbers according to a pattern; ASC normalizes character width. They serve different purposes: TEXT for number-to-string conversion, ASC for character-set cleanup.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17