Apr 19 2023 05:07 AM
I have statements in CSV format converted to text in excel. Pproblem the numbers are seperated with a comma as the thousand seperator and a dot for the decimal i.e. 10,562.98. They can therefore not be used as numbers and to do calculations.
My system is set up with no thousand seperator and a comma as decimal i.e 10562,98. I dont want to change the settins as this will effect all my other spreadsheets.
Is there a way to convert this text from its current form 10,562.98 to 10562,98 as a number format?
Appriciate any help I can get, thank you
Regards
Sepp
Apr 19 2023 05:28 AM
There is a way to convert the text from its current form 10,562.98 to 10562,98 as a number format in Excel. You can use the SUBSTITUTE function to replace the comma with nothing and the dot with a comma.
Here’s an example formula that you can use:
=VALUE(SUBSTITUTE(SUBSTITUTE(A1,",",""),".",","))
This formula will first remove the comma by replacing it with nothing using SUBSTITUTE(A1,",",""). Then it will replace the dot with a comma using SUBSTITUTE( ... ,".",","). Finally, it will convert the resulting text into a number using the VALUE function.
You can use this formula for all the cells that contain numbers in the 10,562.98 format.
Just replace A1 with the cell reference that contains the number you want to convert.
OR…you can use VBA (Visual Basic for Applications) to convert text to numbers in Excel.
Here’s an example VBA code that you can use to convert the text from its current form 10,562.98 to 10562,98 as a number format:
Sub ConvertTextToNumber()
Dim cell As Range
Dim myRange As Range
Set myRange = Range("A1:A10") ' Change this to the range you want to format
For Each cell In myRange
If IsNumeric(cell) Then
cell.Value = CDbl(Replace(Replace(cell.Value, ",", ""), ".", ","))
End If
Next cell
End Sub
You can change the value of this variable to the range of cells that you want to format. In this example, the range is set to A1:A10, but you can change it to any range you want.
Apr 19 2023 05:51 AM
@SeppT03 Another option is to use 'Text to Columns' (found under DATA -> Data Tools group). The first couple pages the default should be ok and then under Advanced you can tell it to recognize the opposite separators:
Apr 19 2023 05:59 AM
Apr 19 2023 06:15 AM
Apr 19 2023 06:16 AM
Apr 19 2023 06:34 AM
Hi @SeppT03
"Not trying to type a formula?" => Probably because your formula delimiter isn't the comma but something else like ;. With your TEXT value in A1:
=NUMBERVALUE(A1;".";",")
Apr 19 2023 07:00 AM
Apr 19 2023 08:15 AM
Hi Nicolino,
Thanks again for your response.
The formula is copied and correct, incl (=).
I work on windows 11, and Office 365, 64 bits.
I've attached both files, the CVS and the xlsx, perhaps this makes it easier.
Thanks again for your assistance
Regards
Sepp
Apr 19 2023 08:28 AM
SolutionNUMBERVALUE does it - see attachment columns F-G
Apr 19 2023 11:21 AM
Awesome, thank you very much, your assistance is greatly appreciated.
Also thank you to everyone else that has tried to sort this.
Kind regards
Sepp
Apr 19 2023 12:35 PM
May 21 2023 01:45 AM
May 21 2023 02:54 AM
In Excel itself, you might select the range and replace comma with nothing.
In VBA:
Range("...").Replace What:=",", Replacement:="", LookAt:=xlPart
May 21 2023 02:58 AM
Alternatively, use Data > Text To Columns.
In VBA:
Range("...").TextToColumns
Alternatively
With Range("...")
.Value = .Value
End With