Skip to content

Amounts and dates come out wrong in Excel: decimal commas and locales

By the getPDF team · Published 11 October 2026

The short answer

A PDF stores amounts and dates as characters; Excel interprets them under its own locale, so 1.234,56 stays text in an English Excel and 03/04/2026 becomes 4 March. Convert to .xlsx with the converter below: amounts are written as numbers in the file, whatever language Excel uses, and dates stay text as printed. For a CSV, pick the separator that matches your Excel. Text amounts already in a sheet are fixed with NUMBERVALUE.

Convert so the locale does not matter

Try it here, nothing is uploaded

PDF · any size · many at once

The converter reads amounts as accountants in many countries write them: 1,234.56 and 1.234,56, 1 234,56 and 1’234.56, € 12 and 12 EUR, negatives as -12, (12.50) or 12.50-. It writes each one into the .xlsx as a plain number, 1234.56. A number in an .xlsx is a value, not text, so Excel in English, German or Polish shows it in its own style and adds it up. We opened the converted file in Excel set to English (US): every amount was a number.

The symptoms, measured

We opened a CSV of raw values, the way they look in a European PDF, in Excel set to English (US), and compared with what the converter writes:

In the PDF Excel (English) reads the raw text as The converter writes
1.234,56 text, not summable 1234.56
12,50 text, not summable 12.5
1 190,50 text 1190.5
€ 12,00 text 12
12.50- text -12.5
(12.50) -12.5 -12.5
12% 0.12, shown as 12% text, 12%
03/04/2026 a date: 4 March 2026 text, 03/04/2026
13/04/2026 text (there is no 13th month) text, 13/04/2026
03.04.2026 text text, 03.04.2026

The worst case is the mixed one. We opened the semicolon CSV of an invented invoice with a decimal-point setting, the wrong match: the whole amounts 850, 129 and 211 came in as numbers, but 96,5 stayed text, because only some values happened to look like numbers. The sum of the amount column came out at 1190 instead of 1286.50, short by exactly the 1 amount that stayed text, with no warning.

Fix 1, at import: the right CSV for your Excel

When you pick CSV in the converter, a Separator row appears:

  • “Comma, 1190.50” is the default, for Excel in English, Google Sheets and most software.
  • “Semicolon, 1190,50” is for Excel set to German, French, Polish and other languages that write the decimal comma. Fields are split by semicolons and amounts written with a comma.

We checked the semicolon file: opened with a semicolon separator and a decimal comma, as a German Excel does, all amounts came in as numbers. Double-clicked in our English Excel, the same file put each whole line into column A. That is not a fault of the file, only the wrong match, so pick the separator for the Excel that will open it.

Excel uses the separators of your Windows region settings. To change them for Excel alone, Microsoft’s help “Change the character used to separate thousands or decimals” (checked on 11 October 2026) says: File, Options, Advanced, clear Use system separators, and type the decimal and thousands separators you need.

Fix 2, after import: turn text amounts into numbers

If a column of amounts is already text in your sheet, from a paste or another tool:

  1. In an empty column, type =NUMBERVALUE(A2,",",".") for European amounts like 1.234,56. The second argument is the decimal mark, the third the thousands separator. It gave 1234.56 in our test.
  2. Fill it down, copy, and Paste Special, Values over the original.
  3. Check: =SUM over the new column against the printed total.

Find and Replace (replace “.” with nothing, then “,” with “.”) does the same, but only when every value in the column has the same style. If a column mixes 1.234,56 and 12.50, it corrupts the second kind; NUMBERVALUE per cell is safer.

Dates: fix the order, then prove it

The converter keeps dates as text, exactly as printed, so it never swaps day and month. To get real dates you can sort, a formula builds them from the parts. For day.month.year or day/month/year:

=DATE(RIGHT(A2,4),MID(A2,4,2),LEFT(A2,2))

In our test, 03.04.2026 became 3 April 2026 and 13/04/2026 became 13 April 2026. For month/day/year, swap the MID and LEFT parts.

The ambiguity no tool can resolve. 03/04/2026 is 3 April in Vienna and 4 March in a US-style document. Before you convert a column, find 1 row where the first number is above 12, such as 13/04/2026. That row proves the order is day first. If no row has a day above 12, check against the document itself: on an October statement, 10/03 can only mean 3 October, month first.

The honest part

The converter reads amounts by rule, and 1 case is truly ambiguous: a number with 1 separator followed by exactly 3 digits. It reads both 1,149 and 1.149 as 1149, because that is how thousands are written in most invoices. A German price of 1,149 per litre, meaning 1.149, would come out 1000 times too big. If your document uses 3 decimals, check those cells against the PDF.

Percentages (12%, 12,5 %) and amounts with letters after them (12.50 CR) stay text, so they are never misread. Dates stay text until you convert them as shown. And none of this changes how your Excel displays numbers; it only makes sure the value underneath is right. The cousin problem, codes losing their leading zeros, is in PDF to Excel leading zeros, and the numbers on a full statement are checked end to end in Bank statement to Excel.

Questions

Why does 1.234,56 not add up in Excel?

Because an Excel set to English reads the dot as the decimal point and the comma as a thousands separator, so 1.234,56 is not a number to it and stays text. SUM skips text without a warning. The converter avoids this by writing the number 1234.56 into the .xlsx.

How do I turn a text amount like 1.234,56 into a number?

=NUMBERVALUE(A2,",",".") gives 1234.56: the second argument names the decimal mark, the third the thousands separator. We tested it in Excel set to English (US).

Why did my dates change from 3 April to 4 March?

A date like 03/04/2026 is read in the order your Excel expects. An Excel set to US English reads month first, so it became 4 March. A date like 13/04/2026 cannot be month first and stays text, so 1 column ends up holding both.

Which separator should I pick for CSV?

Comma, 1190.50 for Excel in English, Google Sheets and most software. Semicolon, 1190,50 for Excel set to German, French, Polish and other languages that write the decimal comma. The .xlsx needs neither and opens right in every language.

The tools for this job