
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
- beinhaltetÄndern einer Excel-Einstellung, die verhindert, dass ALLE Excel-Funktionen sich über Tausendertrennzeichen beschweren, oder
- 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 SUBSTITUTE
die 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 Wizard
Dadurch wird die Seite „Wo“ angezeigt. Step 3 --> Advanced
Sie können die in den kopierten Daten verwendeten Decimal
und 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 Paste
Schaltfläche auf der Home
Registerkarte klicken, passen Sie die Registerkarte an, Quick Access Toolbar
um es dort hinzuzufügen. Sie sollten diesen Befehl aufgelistet finden, wenn SieChoose Commands
aus All Commands
.
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 SUM
aufteilen:
=SUM("1.234.456.789","3.000.000.000")/2