The MID Function can start from any character position in a piece of text and move right returning n characters. It is used heavily when parsing data into pieces and returning specific parts.

The MID function is a computer program that you run from a worksheet cell formula. It can start from any character position in a piece of text and move right returning n characters. The number of characters returned is based on the number of characters you specify. You run the MID function by typing its name in a formula then followed by the information it is suppose to parse (separate). The MID function is generally used to separate some sub set of text like states, zip codes, ID, names... from a piece of text. For example, if you have a worksheet with 2 character codes embedded in the middle of its text at certain position and you wanted to extract those codes, then you would use the MID function. Reversing your thinking, the MID worksheet function can also be used to remove unwanted text say everything after character 6 is garbage and unwanted. So MID would be used in this instance as a removal tool instead, it is just how you think of the problem. This is often called data cleaning or data mining.

Whenever you type a formula in a worksheet cell, this is called syntax or grammar. The general MID function syntax has a format like this when you type it in a worksheet cell:

=MID(text, start_num, num_chars)

Where text, start_num, num_chars ..... are called the function argument list. Remember, you are running a computer program at this point so the program needs information to operate and that is why there is an argument list. When you see an argument list and you see square brackets [ ] around the argument name, this means the argument is optional and you do not have to include it when typing unless you need it. So for the syntax above, you need to include all three arguments for the MID function when typing it in a worksheet cell formula in order for it to calculate correctly. What argument values can be used are discussed below. Remember functions expect certain things in their argument lists, if you do not put the correct information in the list they will generate an error when run.

- text: This is the piece text that contains the characters you want to extract. It can be a cell reference, constant like "Text" basically any formula that generates a piece of text.
- start_num: Specifies the character you want to start at in the string including spaces. For example, if you wanted to start at the dash in the following text, ca-1234, then you would use 3 for the start_num argument.
- num_chars: Specifies the number of characters you want MID to extract starting at the character specified by start_num. It must be greater than or equal to zero.

Since the MID function is a computer program, it runs when you press Enter to enter the formula that contains it. If any of the arguments are wrong, the function will return an error.

When typing the LEFT function in a worksheet cell formula, you need to replace the argument list with arguments separating each one with a comma (arg1,arg2...). Some typical arguments you can use are:

Argument Type | Cell Formula | Example Explanation |

Cell Reference | = LEFT( A1, 2, 2 ) | MID extracts 2 characters starting at character position 2 from the text in cell A1 |

Range Reference | = LEFT( A1:A10, 2, 2 ) | MID extracts 2 characters starting at character position 2 from the text in in the range A1:A10 and returns an array |

Cell and Range Names | = MID( Code_Names, 4, 4 ) | MID extracts 4 characters starting at character position 4 using the cell name Code_Names to obtain its text |

* It is possible to name a cell or group of cells on a worksheet and use that name in place of a range reference or cell reference. Consult Excel help on how to name a cell.

The worksheet seen below contains some typical worksheet formulas that run the MID worksheet function. Pay close attention to the argument list and the syntax used to write the formula.

A | B | C | |

1 | CA-91362-11 | = MID( A1, 4, 5 ) | Returns 91362 from the text in cell A1 |

2 | CAA-567-AA | = MID( A2, SEARCH("-", A2) , 3 ) | Uses the SEARCH function to find the position of the first dash, then adds 1 to get start pos then returns 567 |

3 | AXZ-100 | = VALUE( MID( A3, 5, 3 ) ) | MID returns 100. The VALUE function then flips the text answer "100" to a number 100. This is critical if the formula ends up being used as the first argument to VLOOKUP. VLOOKUP does distinguish between looking up numbers and looking up numbers that are text. |

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

Need Help? Please call us at 1.866.924.6244

Excel Training Services

Microsoft Excel Products

EMAGENIT Company Information

Copyright © 2002-2019

EMAGENIT All Rights Reserved