Problem

Problem

Ich durchsuche manuell einige PDF-Berichte, die unterschiedliche Zahlen enthalten, die normalerweise sowohl Dezimal- als auch Tausendertrennzeichen haben. Meistens sind die Komma- und Tausendertrennzeichen dieselben wie in meiner lokalen Einstellung (, = Dezimalzahl, . = Tausender, ; = Argumenttrennzeichen). Leider lassen sich Excel-Funktionen nicht gerne mit Zahlen füttern, die ein Tausendertrennzeichen enthalten.

Problem

Ich kopiere Werte aus dem PDF und möchte nicht, dass sie in einer Zelle als kopiert erscheinen, sondern sie zuerst manipulieren. Ich möchte nicht, dass die Originalzahl in irgendeiner Zelle erscheint. Aber wenn ich einige Werte kopiere und versuche, sie einer Funktion zuzuführen, z. B.

=DURCHSCHNITT(1.234.456.789;3.000.000.000)

Ich erhalte eine Fehlermeldung

There is a problem with this formula. 
Not trying to type a formula?
When the first character is an equal (=) or minus (-) sign, Excel thinks it's a formula
· you type: =1+1, cell shows: 2
To get around this type an apostrophe (') first:
· you type '=1+1, cell shows =1+1

im Moment bin ich gezwungen, das Tausendertrennzeichen manuell zu entfernen, um

=DURCHSCHNITT(1234456789;3000000000), damit die Formel funktioniert.

Gibt es eine weniger mühsame Möglichkeit, dies zu tun?

Lösungsanforderung

Edit: Ich möchte keine Lösung wie

=DURCHSCHNITT(ERSETZT("123.456.789";".";"");ERSETZT("3.000.000.000";".";""))

da es viel mehr Tipparbeit bedeutet; ich hätte lieber eine Lösung, die entweder

  1. beinhaltetÄndern einer Excel-Einstellung, die verhindert, dass ALLE Excel-Funktionen sich über Tausendertrennzeichen beschweren, oder
  2. als zweitbeste Lösung eine Möglichkeit, VBA-Funktionen zu schreiben, die es für jede Funktion separat funktionieren lassen (in diesem Fall würde ich nur ein funktionierendes Beispiel für AVERAGE benötigen, um den Rest selbst implementieren zu können) wie

=MeinGuterDurchschnitt(1.234.456.789;3.000.000.000)

was ich nicht tun kann, da selbst eine VBA-Funktion über Parameter, die wie oben formatiert sind, klagen würde. Ich kann eine Lösung implementieren, bei der die Argumente als Zeichenfolge übergeben werden, wie

=MeinNichtSoSchönerDurchschnitt("1.234.456.789";"3.000.000.000")

Das ist auch keine zufriedenstellende Option, da ich große Mengen an Zahlen einfüge und nicht jede Zahl in eigene Anführungszeichen setzen möchte.

Vielen Dank für Ihre Hilfe!

Antwort1

Mit können Sie SUBSTITUTEdie Punkte in den kopierten Werten entfernen.

So was:

=AVERAGE(SUBSTITUTE("123.456.789";".";"");SUBSTITUTE("3.000.000.000";".";""))

Antwort2

Nachdem Sie Copy, können Sie Paste using Text Import Wizard.

Text Import WizardDadurch wird die Seite „Wo“ angezeigt. Step 3 --> AdvancedSie können die in den kopierten Daten verwendeten Decimalund Trennzeichen angeben.Thousands

Dadurch werden die Werte entsprechend in Zahlen mit Ihren eigenen Trennzeichen umgewandelt.

Wenn Sie dieses Element nicht sehen, wenn Sie auf die untere Hälfte der PasteSchaltfläche auf der HomeRegisterkarte klicken, passen Sie die Registerkarte an, Quick Access Toolbarum es dort hinzuzufügen. Sie sollten diesen Befehl aufgelistet finden, wenn SieChoose Commands aus All Commands.

Bildbeschreibung hier eingeben

Antwort3

Wenn man Office 365 hat:

=AVERAGE(--SUBSTITUTE({"1.234.456.789","3.000.000.000"},".",""))

Andernfalls möchten Sie möglicherweise als Array eingeben durchCtrlShiftEnter


Andererseits könnte man auch einfach SUMaufteilen:

=SUM("1.234.456.789","3.000.000.000")/2

verwandte Informationen