Table of Contents
MID returns a specific number of characters from a text string, starting at the position you specify, based on the number of characters you specify.
MIDB returns a specific number of characters from a text string, starting at the position you specify, based on the number of bytes you specify.
What is the difference between MID and MIDB?
MID is intended for use with languages that use the single-byte character set (SBCS), whereas MIDB is intended for use with languages that use the double-byte character set (DBCS). The default language setting on your computer affects the return value in the following way:
- MID always counts each character, whether single-byte or double-byte, as 1, no matter what the default language setting is.
- MIDB counts each double-byte character as 2 when you have enabled the editing of a language that supports DBCS and then set it as the default language. Otherwise, MIDB counts each character as 1.
The languages that support DBCS include Chinese (Simplified), Chinese (Traditional), Korean, and Japanese.
MID(text, start_num, num_chars)
MIDB(text, start_num, num_bytes)
Text Required. The text string containing the characters you want to extract.
Start_num Required. The position of the first character you want to extract in text. The first character in text has start_num 1, and so on.
Num_chars Required. Specifies the number of characters you want MID to return from text.
Num_bytes Required. Specifies the number of characters you want MIDB to return from text, in bytes.
- If start_num is greater than the length of text, MID returns "" (empty text).
- If start_num is less than the length of text, but start_num plus num_chars exceeds the length of text, MID returns the characters up to the end of text.
- If start_num is less than 1, MID returns the #VALUE! error value.
- If num_chars is negative, MID returns the #VALUE! error value.
- If num_bytes is negative, MIDB returns the #VALUE! error value.
Example 1: MID
The example may be easier to understand if you copy A1:C7 to a blank worksheet.
Example 2: MIDB
equals "国香". Because each character is counted as 2; the second argument specifies a starting point at the three byte, which is the second character, and the third argument specifies a length of 4 bytes, which is two character.
equals "香港". Because each character is counted as 1; the second argument specifies a starting point at the third character, and the third argument specifies a length of 4 characters. MID returns "香港" no matter what the default language setting is on your computer.
Example 3: convert text to number
LEFT function returns text values, sometimes, if you want to returns number values, you may add "--" in the formula. For example:
See also: Excel text functions
- Changes full-width (double-byte) English letters or katakana within a character string to half-width (single-byte) characters
- Converts a number to text, using the ß (baht) currency format
- Returns the character specified by the code number
- Removes all nonprintable characters from text
- Returns a numeric code for the first character in a text string
- Joins several text items into one text item
- Converts a number to text, using the $ (dollar) currency format
- Checks to see if two text values are identical
- FIND, FINDB
- Finds one text value within another (case-sensitive)
- Formats a number as text with a fixed number of decimals
- Changes half-width (single-byte) English letters or katakana within a character string to full-width (double-byte) characters
- LEFT, LEFTB
- Returns the leftmost characters from a text value
- LEN, LENB
- Returns the number of characters in a text string
- Converts text to lowercase
- MID, MIDB
- Returns a specific number of characters from a text string starting at the position you specify
- Extracts the phonetic (furigana) characters from a text string
- Capitalizes the first letter in each word of a text value
- REPLACE, REPLACEB
- Replaces characters within text
- Repeats text a given number of times
- RIGHT, RIGHTB
- Returns the rightmost characters from a text value
- SEARCH, SEARCHB
- Finds one text value within another (not case-sensitive)
- Substitutes new text for old text in a text string
- Converts its arguments to text
- Formats a number and converts it to text
- Removes spaces from text
- Converts text to uppercase
- Converts a text argument to a number