Return to Excel Formulas List
Download Example Workbook
Download the example workbook
This tutorial demonstrates how to check if a cell is a number or text in Excel and Google Sheets.
Check Cell for Number or Text
We can check if a cell is a number by using the ISNUMBER Function or check if a cell is text with the ISTEXT Function.
ISNUMBER Function
The ISNUMBER Function checks if a value is a number. It returns TRUE if the value is a number and FALSE if it’s not.
=ISNUMBER(B3)
Knowing if a cell value is a number helps avoid errors when working with formulas. Numbers are sometimes stored as text, i.e. B4 (5000) in the example above, and that can result in errors in formulas referencing that cell.
In this example, the date, phone number, and time values all returned TRUE. These are regarded as numeric values in Excel and Google Sheets.
ISTEXT Function
The ISTEXT Function checks if a cell is text. It returns TRUE if the value is a text string and FALSE if it’s not.
=ISTEXT(B3)
In this example, although the value in B5 (2350) is a number, it’s written within quotes and therefore stored as a text string. That’s why it returns TRUE.
Check if Cell is a Number or Text in Google Sheets
These formulas (ISNUMBER and ISTEXT) work exactly the same in Google Sheets as in Excel.
I have to find out if my cells text is a numeric value and wanted to use an elegant non VBA method that doesn’t impede on its current state or value.
What I’ve found is that the ISNUMBER()
function only works if the cells are number formatting or has no spaces if text formatting e.g.:
For the first three I’ve used =ISNUMBER(...)
and my last attempt is =ISNUMBER(TRIM(...))
.
The only method I’ve used that doesn’t use VBA is to override my current values using text to columns then use the =ISNUMBER()
function.
Note: I am proficient with VBA and Excel and understand I could create a user-defined function. But I don’t want to as this imposes a macro required workbook or an add-in to be installed, which I can and have done in some cases.
I will appreciate any advice, thoughts (even if they tell me it can’t be done) or VBA solutions (won’t be marked as answer however).
asked Apr 30, 2013 at 1:05
5
Try multiplying the cell value by 1, and then running the IsNumber
and Trim
functions, e.g.,:
=IsNumber(Trim(A1)*1)
answered Apr 30, 2013 at 1:10
3
Assuming the value you want to convert is in A1 you can use the following formula:
=ISNUMBER(VALUE(TRIM(CLEAN(A1)))
Here the functions clean and trim are removing whitespace and none printable characters. The function value converts a string to a number, and with the converted string we can check if the value is a number.
answered Apr 30, 2013 at 2:02
1
The shortest answer I’ve got to my question is:
=N(-A1)
Thanks brettdj
answered Apr 30, 2013 at 12:03
glhglh
5131 gold badge4 silver badges12 bronze badges
I know this post is old but I found this very useful in this case
I had a formula that returned (333), even though it is a number and ISNUMBER will say it is a number even though I did not want an answer if it had characters other than digits. The following worked for me.
=IF(AND(ISNUMBER(--(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))),"Is Number","")
It works if there is ANY characters other than digits. If you just want a true false drop the IF
=AND(ISNUMBER(--(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))))
As David Zemens stated
=IsNumber(Trim(A1)*1)
Works but if there is a «-» or the number is in parentheses it will say it is a number.
I hope this helps you or others.
answered Apr 8, 2016 at 18:14
MouthpearMouthpear
511 silver badge5 bronze badges
if anyone needs to filter cells that contain anything that is not numeric:
=AND(SUMPRODUCT(--ISNUMBER(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))=LEN(A1),A1<>"")
decimals and negatives result FALSE
answered Oct 6, 2017 at 7:58
I’m pretty late to the party, but, possibly the easiest, or shortest genuine test (note that the N
function converts the number) is =ISNUMBER(--A1)
.
Using the examples you posted above…
As with a lot of Excel shortcuts, the ‘—‘ forces Excel to assume the value afterward is a number, then all spaces are ignored. It’s as if you had typed --123
directly into a box (— obviously gives a positive number).
The third example also shows that other textual values in the string don’t simply cause an error output for ISNUMBER
.
Number | ISNUMBER() | Format | Comments |
---|---|---|---|
123456 |
TRUE | Numeric | Plain number |
123456 |
TRUE | Text | Number as text |
123456A |
FALSE | Text | Number with ‘A’ tagged on the end |
123456 |
TRUE | Text | Number prefixed with four spaces |
answered Mar 11, 2022 at 16:48
PaulPaul
1239 bronze badges
Check If Character Is A Letter Or A Number — Excel |
|
Hey all,
I have a cell range that is passed as a String to a function, and within that function I need to extract only the Column letter. If it was just 1 letter it would be simple, but it may be 2, so does anybody know of a way of testing to see if the second character is a letter or a number?
Thanks.
Excel VBA Course — From Beginner to Expert
200+ Video Lessons
50+ Hours of Instruction
200+ Excel Guides
Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)
(80% Discount Ends Soon!)
View Course
Similar Topics
Hi,
I have a long list of data validation. I was wondering if there is a way when I clik on the drop down menu and type the first letter, automatically Excel shows all list with that letter.
Right now, I have to click on the drop down menu and scroll manually until I reach that desired list.
Thanks.
This formula should be very often to use, but i cant found it anywhere, so i ask this here
For example in a1 is :
mike is playing basketball, he is very great player
i want to make it in b1 to be uppercase only in first letter so :
Mike is playing basketball, he is very great player
i know about proper formula =proper(a1) , but proper formula is make uppercase to all first letter in all words, we just need first letter in first words to be uppercase (and to every first words after dot if it can)
when I type a number or letter into a cell and then press enter the cursor
jumps way down the page to what appears to be a random cell. The one i
originaly typed in remains blank. spreadsheet was previously ok this has
just started to happen.
help please
thanks
Hi All,
If I drag a formula to the right it adapts the column letter in the formula from A to column B, which is standard Excel functionality.
However, if I drag the formula to the right I want Excel to skip a column each time.
In other words:
=A1 ; = B1 ; = C1
Should be
=A1 ; = C1 ; = E1 etc…
Is there an easy trick to do this?
Thanks,
Michiel
Hello All
I wonder if you could help with this one, I have a list of data like this (no spaces or other characters)
JN551122B
What I need to do is split each of the characters in to its own cell
if JN551122B was in cell A1 I’d want to return:
B2 C2 D2 E2 F2 G2 H2 I2 J2
J N 5 5 1 1 2 2 B
The nearest I have got is the right function, but it brings over the preceeding characters, and I need each character in its own cell. Hopefully I could copy/paste a formula and change the reference for each cell value, i.e. 1 would return J, 2 = N, 3 = 5, 4 = 5 etc.
Thanks for your help!
Since there isn’t a ISDATE function in excel.
The following can be used to simulate the same, and avoid having to achieve the same with VBA’s IsDate function:
STEPS:
1- Format the column (ex A) as text
2- Formula to check for valid dates:
=ISERROR(DATEVALUE(A1))
I have a large database with names, addresses etc. When I try to make changes
to the email address, like change the font color or change on letter, Excel
tries to email the address. If I click in the formula bar to make the
changes, it automatically changes it back to all blue text and underlined. I
have tried to format all of the cells as «Text» to show as entered, but it
doesnt work. PLEASE HELP
Hi all,
Probably a simple little function, help would be appreciated!
I’d like to take a number entered into one cell ie. A1 = 20
and split it randomly but evenly over 3 other cells ie.
B1=6
C1=8
D1=6
Number should be whole and no zeros?
Thanks all!
Hello
I have several rows of text data, the first 17 characters of which are in this format (4 letters_-_DD.MM.YYYY
It’s then followed by a variable number of characters i.e.
ABCD — 01.02.2003 ABCDEFG HIJ KLMNO
I would be grateful for a formula that will delete all characters to the right of the 17th character (i.e. the ‘3’).
Many thanks!
Hi,
I am looking for a method/formula that will reverse multiple text entries from «abcde» to «edcba». The entries are composed of several words that need to be reversed ie from «ab cde fg» to «gf edc ba»
Thanks
I need to create a IF statement where it will count the character length and if not 6 then add leading zeros to field to make a fixed 6 character length .. so if field is 489 then the if statment would make it 000489
Hi all —
Im very familiar with how to write a macro to automatically autofilter a list based upon a Cell Value (i.e. Range =(A1)…etc.)…. but what I cannot figure out how to correctly write is a way to have Excel automatically autofilter a list for any row that CONTAINS the Cell Value, instead of just the exact value.
Cell Value = «birds»
Example — I need to filter every row so that I see every row that CONTAINS «birds» in the character-string, not just the row that = «birds».
a) is this possible?
If not, I’d like to know also so I can stop attempting to guess (-;
Thanks!!!
Matt
I have a spreadsheet counting down the days until a date is reached. However, after that date is reached and passed I get a #NUM! error.
What can I do to countdown the days as below AND countdown the days that have passed as a NEGATIVE NUMBER???
=DATEDIF(NOW(),D11,»D»)
Hi folks,
Hoping someone can help me quickly as I’m pulling my hair out and have a deadline getting too close.
Been trailing the net and this board but can’t work out how to do a simple variance.
How do I work out the difference between two numbers — including negatives.
If the numbers are all positive, it’s fine as it’s simply a case of A — B = C which is your difference. However, that doesn’t work if B is negative.
I need a formula that would give the following:
First Number / Second Number / Difference
1 / 5 / 4
1 / -5 / -6
-1 / 5 / 6
-1 / -5 / -4
-5 / -1 / 4
Hopefully there’s a simple function I’ve been missing.
Thanks in advance, R
I need to insert a «.» into a column of cells. What is the best way to do this?
Example: Existing data 1000UG01
Needs to be 1000UG.01
Existing cells are all the same length and the «.» needs to be inserted in the same place.
Thanks in advance for any help.
Posted this on the Ozgrid forums, but haven’t gotten any help yet, so I thought I’d try here too!
I’ve been having a strange problem lately. I have a fairly lengthy macro that works perfectly most of the time. Occasionally it will run as expected but as soon as the macro ends, excel becomes unresponsive to mouse-clicks. When I click anywhere (trying to select a cell, or an excel menu item…clicking anywhere in excel) I’ll get the a ‘ding’ system sound and nothing will happen. BUT, if I use the keyboard arrow keys, I can see that the active cell selection moves accordingly. Then it gets really strange — when I have a cell highlighted and press any key to input text, it gets duplicated. So if I press «s’ it will input «ss» into the cell, and then when I press enter it will auto-move to the next cell down, but nothing ends up getting saved into the previous cell.
I don’t understand what’s going on at all. I can’t think of anything in my macro that would have these kinds of effects. I’ve made sure that screenupdating is turned back on at the end of every procedure. If I go into the VBE, I can manually run procedures and they all work fine. The only way I’ve been able to get back to normal is by force closing excel altogether and re-opening. Any ideas?
______________________
Still having trouble, and the same thing is happening with this workbook on two different computers, so I don’t think it’s a hardware, or OS specific issue. When it gets locked up like this, I can still do anything in the VBE (edits cells, run macros, etc.) with no problems. If I’m in the excel window, I can click alt on the keyboard and the shortcut keys for the menu come up, but I can’t go deeper than that by clicking the letter shortcuts, they do nothing. If I use the delete key to delete the contents of a cell, then it gets deleted. But if I type anything else (numbers, letters, or symbols) then it types 2 instances of the key every time, yet when I hit enter, nothing changes in the cell. I also can’t really bring focus to the excel window if something else (ie. the VBE) is on top of it, clicking into the excel window just gives the little system ‘ding’ sound and nothing happens.
If I hit the save button in the VBE (since I can’t click anything in the excel window), then it seems to snap out of it and go back to normal. I tried searching for anything simmilar to this and can’t find anything…
Any help would be much appreciated. This is driving me nuts!
Good day… I need an IF Function that will allow me to action a time in a time range:
… If the time 04:16 falls in the time range 04:00 — 04:29, than put a one (1) in the filed x…
… If the time 04:16 doesn’t fall in the time range 04:00 — 04:29, than leave the x fiel empty
Any help is appreciated.
Good afternoon,
Is there a way to enter a colon into a standard number to create a value that can be formatted into a 24 hour time value ?
eg a time is listed as 1345 with a general number format, and I want it returned as 13:45 witha custom format of hh:mm.
Other than creating a table and using a vlookup function, I am hoping there is a better way?
Darren
Hi
I am looking for a formula to remove special characters and spaces from a cell
I have been using «substitute» but this requires me to know which character I want to remove and this isn’t always known
I have tried looking at some macro solutions but became lost quite quickly
Any help would be much appreciated
Thanks
I have cells in a column, some colored yellow, some not. I am trying to use
the SUMIF function to sum only the cells in the range that are colored. Can
this be done? Can I enter something in the «criteria» part of the formula
that can do this?
=SUMIF(D3:D13,»criteria»,D3:D13)
I also tried to use the CELL function’s color feature, but I couldn’t get it
to work right. I don’t know how to get Excel to recognize if a cell is
colored in a formula.
=CELL(«color»,cell)
It might just be that I don’t know what this means in Help:
«color» —> 1 if the cell is formatted in color for negative values;
otherwise returns 0 (zero).
Can anyone help?
Let’s create a function to convert the text to the new format, with a Sub to run the loop. Then, let’s strip Diacritics from letters, and use a Switch Statement to check if a character is Number, Letter, or Other: (Note that, if the character is neither Number nor Letter, we don’t need to run an additional check to see if it is «anything else» — because, those are all that are left!)
Sub MyMacro()
Dim rTMP As Range
For Each rTMP In Range(Cells(1,1), Cells(Rows.Count,1).End(xlUp)).Cells
rTMP.Offset(0,1).Value = TextToMask(rTmp.Value)
Next rTMP
End Sub
Function TextToMask(Value As String) As String
Const NumberValue AS String = "N"
Const LetterValue AS String = "L"
Const SymbolValue AS String = ""
Dim i AS Long, CleanValue As String
CleanValue = StripDiacritics(Value)
If Len(Value)<1 Then Exit Function
For i = 1 To Len(Value)
Select Case Mid(CleanValue, i, 1)
Case "0" To "9"
TextToMask = TextToMask & Left(NumberValue & Mid(Value, i), 1)
Case "A" To "Z", "a" To "z"
TextToMask = TextToMask & Left(LetterValue & Mid(Value, i), 1)
Case Else
TextToMask = TextToMask & Left(SymbolValue & Mid(Value, i), 1)
End Select
Next i
End Function
Function StripDiacritics(Value As String) As Value
'This will convert letters like "á" to "a", etc
If Len(Value) < 1 Then Exit Function
Dim i AS Long, Letters As Variant, Comparison As Variant
Letters = Array("a","b","c","d","e","f","g","h","i","j","k","l","m", _
"n","o","p","q","r","s","t","u","v","w","x","y","z")
For i = 1 To Len(Value)
Comparison = Application.Match(Mid(Value, i, 1), Letters)
If IsError(Comparison) Then
StripDiacritics = StripDiacritics & Mid(Value, i, 1)
Else
StripDiacritics = StripDiacritics & Chr(Comparison - 1 +
IIF(Mid(Value, i, 1)=UCase(Mid(Value, i, 1)), Asc("A"), Asc("a")))
End If
Next i
End Function
Excel has a bunch of formulas and data analysts use this application to prepare various reports and dashboards. To support that analysis this article will help an excel user to identify all the cells whose values either starts with a number or an alphabet from a collection of dataset. We will identify these cells using the combination of following formulas.
-
IF function
-
ISERR function
-
Left function
Check if first character in a cell is a number or a letter
The following formulas can be used to check if the first character of a cell is number or a letter.
-
=IF(ISERR(LEFT(cell_location,1)*1),»Letter”, “Number»)
In this formula, we are calculating the value of a cell’s left most character multiplied by 1. If the obtained value is not a number then it will return Letter else Number.
-
=IF(ISNUMBER(VALUE(LEFT(cell_location, 1))),»Number», «Letter»)
In this formula, we are calculating the value of left most character of a cell. If the returned value is a number, then it will return TRUE (by default) or as per the defined value (Number in our case).
Step 1 − A sample worksheet has been shown below with some sample data.
Step 2 − Under the column C, the following formula has been used to get the desired result. Enter the formula in a cell and press enter.
=IF(ISERR(LEFT(B2,1)*1),»Letter”, “Number»)
Step 3 − Now drag the cell to copy the formula in other cells also to view the output against all cells. Enter the formula in a cell and press enter.
Step 4 − Under the Column D, the following formula has been used to get the desired result.
=IF(ISNUMBER(VALUE(LEFT(B2, 1))),»Number», «Letter»)
Step 5 − Now drag the cell to copy the formula in other cells also to view the output against all cells
Formula Syntax Description
Argument | Description |
---|---|
IF(logical_test, {value_if_true},{value_if_false} |
|
LEFT(text, [num_chars]) |
|
ISERR(value) |
|
Conclusion
The start or end character of a cell value can be identified using many other combinations of excel functions. However, these the most used functions for the same. The same functions can be used to identify the cell ending with a number or letter by replacing LEFT from RIGHT.
-
=IF(ISERR(RIGHT(cell_location,1)*1),»Letter”, “Number»)
-
=IF (ISNUMBER(VALUE(RIGHT(cell_location, 1))),»Number», «Letter»)