MID, MIDB functions

This article describes the formula syntax and usage of the MID and MIDBfunction in Microsoft Excel.

Description

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.

Important   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 Japanese, Chinese (Simplified), Chinese (Traditional), and Korean.

Syntax

MID(text, start_num, num_chars)

MIDB(text, start_num, num_bytes)

The MID and MIDB function syntax has the following arguments:

  • 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.

Remarks

  • 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

Example 1: MID

The example may be easier to understand if you copy it to a blank worksheet.

How do I copy an example?

  1. Select the example in this article.

    Important   Do not select the row or column headers.

    selecting an example from help

    Selecting an example from Help

  2. Press CTRL+C.

  3. In Excel, create a blank workbook or worksheet.

  4. In the worksheet, select cell A1, and press CTRL+V.

    Important   For the example to work properly, you must paste it into cell A1 of the worksheet.

  5. To switch between viewing the results and viewing the formulas that return the results, press CTRL+` (grave accent), or on the Formulas tab, in the Formula Auditing group, click the Show Formulas button.

After you copy the example to a blank worksheet, you can adapt it to suit your needs.

1

2

3


4


5


6

A

B

Data

Fluid Flow

Formula

Description (Result)

=MID(A2,1,5)

Five characters from the string above, starting at the first character (Fluid)

=MID(A2,7,20)

Twenty characters from the string above, starting at the seventh (Flow)

=MID(A2,20,5)

Because the starting point is greater than the length of the string, empty text is returned ()

Example 2: MIDB (with your computer set to a default language that supports DBCS)

In the following example:

  • MIDB returns " tokyo " because each character is counted as 2; the second argument specifies a starting point at the fourth byte, which is the second character, and the third argument specifies a length of 2 bytes, which is one character.

  • MID returns " tokyo to shibuya tokyo to shibuya " because each character is counted as 1; the second argument specifies a starting point at the fourth character, and the third argument specifies a length of 2 characters. MID returns " tokyo to shibuya tokyo to shibuya " no matter what the default language setting is on your computer.

=MIDB(" tokyo tokyo tokyo tokyo to shibuya tokyo to shibuya tokyo to shibuya ",4,2) equals " tokyo "

=MID(" tokyo tokyo tokyo tokyo to shibuya tokyo to shibuya tokyo to shibuya ",4,2) equals " tokyo to shibuya tokyo to shibuya "

Applies To: Excel 2010, Excel Starter, Excel Online, SharePoint Online



Was this information helpful?

Yes No

How can we improve it?

255 characters remaining

To protect your privacy, please do not include contact information in your feedback. Review our privacy policy.

Thank you for your feedback!

Support resources

Change language