Konvertieren einer Textzeichenfolge mit einem führenden Bindestrich in eine negative Zahl

Konvertieren einer Textzeichenfolge mit einem führenden Bindestrich in eine negative Zahl

Der Online-Broker, den ich benutze, muss die am wenigsten funktionierende Website der Welt haben! Sie bieten keine „Export“-Funktion, sondern sagen ihren Benutzern stattdessen, sie könnten einfach Daten aus Tabellen kopieren, die in ihrem Browser dargestellt werden, und sie in Excel einfügen. (Wirklich!)

Überraschenderweise kann Excel (2016, für Mac) dazu gebracht werden, die „positiven Textzahlen“ in tatsächliche Zahlen umzuwandeln, die ( SUMnormalerweise) von den numerischen Funktionen bearbeitet werden können. Die „negativen Textzahlen“ haben sich jedoch allen Versuchen widersetzt, die ich unternommen habe, um sie in eine negative Zahl umzuwandeln.

Eine „positive Textnummer“ ist: 123,45 $
Eine „negative Textzahl“ ist: -543,21 $ (beachten Sie das führende Textzeichen hyphen)

EDIT:
Eine "negative Textnummer" ist: – $299.55 (Entdeckt, dass führendes Zeichen istNICHTa hyphen; es kann einem dash
Ich entschuldige mich für die Verwirrung... Ich frage mich jetzt, welche Art von Programmierern auf einer Webseite voller Zahlen ein em dashanstelle von a verwenden würden, aber das ist eine Frage für meineminus sign/hyphenOnline-Broker.

Ich kann eine „positive Textzahl“ in Zelle A1 wie folgt umwandeln:=VALUE(RIGHT(A1,6))

Dies funktioniert jedoch nicht bei einer „negativen Textzahl“. Die Zahl wird zwar richtig ausgegeben, das Minuszeichen geht jedoch verloren. Ich habe versucht, den charsWert zu ändern, aber das hat nicht geholfen.

Ich habe auch Folgendes erfolglos versucht:
1. Multiplizieren mit 1
2. Text in Spalten
3. Zellen formatieren ...

Gibt es eine andere Möglichkeit, dies zu tun, als es manuell erneut einzugeben?

Antwort1

Ich glaube, ich habe eine einfache Lösung gefunden. Markieren und kopieren Sie in einer der Zellen mit dem führenden Geviertstrich nur den Geviertstrich. Fügen Sie den Geviertstrich mithilfe der Excel-Funktion „Suchen und Ersetzen“ in den Block „Suchen nach“ ein und geben Sie dann das Minuszeichen in den Block „Ersetzen durch“ ein. Wenden Sie die Funktion „Ersetzen“ auf alle Zellen an, die Sie konvertieren möchten.

Antwort2

Wenn Zelle A1 enthältTextdas heißt im Format „123,45 $“ oder „-543,21 $“, können Sie die folgende Formel verwenden, um den numerischen Wert zu erhalten.

=IF(LEFT(A1,1)="-",0-VALUE(RIGHT(A1,LEN(A1)-1)),VALUE(A1))

Wenn der Text mit einem „-“ beginnt, wird der Wert von allem nach dem „-“ abgerufen und in ein Negativ umgewandelt.

Antwort3

Ich würde empfehlen:

  1. Wert nach $Vorzeichen extrahieren, keine feste Position verwenden
  2. Überprüfen Sie das Wertzeichen, indem Sie ein Symbol unmittelbar vor $dem Zeichen prüfen.

Die Formel könnte also lauten:

=IF(IF(ISERROR(FIND(MID(A1,FIND("$",A1)-1,1),"<dash><hyphen>")),3,FIND(MID(A1,FIND("$",A1)-1,1),"<dash><hyphen>"))<3,-MID(A1,FIND("$",A1)+1,LEN(A1)),0+MID(A1,FIND("$",A1)+1,LEN(A1)))

Wo

"<dash><hyphen>"- ein Literal mit möglichen Minuszeichen (ersetzen Sie die Platzhalter in beliebiger Reihenfolge durch die entsprechenden Zeichen, sodass Sie im gezeigten Fall ein 2-stelliges Literal erhalten)

3- die Zahl, die größer ist als die Anzahl der Zeichen im vorherigen Literal

Diese Werte können durch einen Verweis auf eine Zelle ersetzt werden, die alle möglichen „Minus“-Zeichen enthält (wie Z1bzw. 1+LENGTH(Z1)).


Update. Debuggen der Formel.

Erstellen Sie eine Tabelle auf einem leeren Arbeitsblatt.

Fügen Sie 4 verschiedene Werte in Spalte A ein (ohne/mit führenden Leerzeichen, positiv/negativ).

Fügen Sie die folgenden Formeln ein:

Cell          Formula                      Meaning
-------------------------------------------------------------
$B$1          =IF(I1,-G1,0+G1)             Result
$C$1          =LEN(A1)                     Data length in source
$D$1          =FIND("$",A1)                $ position in source
$E$1          =MID(A1,D1-1,1)              symbol before $
$F$1          =FIND(E1,"<dash><hyphen>")   symbol before $ position in hyphens list
$G$1          =MID(A1,D1+1,C1)             number from source
$H$1          =ISERROR(F1)                 correction when no symbol before $ in list
$I$1          =IF(H1,3,F1)<3               define is a source positive or negative

Kopieren Sie dieses Formelpaket in die Zeilen 2 bis 4. Überprüfen Sie, ob Sie eine Ausgabe wie diese erhalten:

     A        B      C   D   E      F       G    H       I
1    $123     123    4   1   #VAL!  #VAL!   123  TRUE    FALSE   
2    -$234    -234   5   2   -      1       234  FALSE   TRUE    
3      $345   345    6   3          #VAL!   345  TRUE    FALSE   
4      -$456  -456   7   4   -      1       456  FALSE   TRUE    

Die Spalte CI enthält die einzelnen Berechnungsschritte und die Spalte B enthält die endgültige Formel mit allen Ersetzungen.

Wo liegt ein Berechnungsfehler?

verwandte Informationen