
Einige Zellen in meiner Tabelle enthalten mehrere durch Semikolon getrennte Daten ;
.
Nach einigem Googeln habe ich herausgefunden, dass dies TEXTSPLIT
wahrscheinlich die beste Formel ist, um dies aufzuteilen, aber sie erzeugt mehrere Datenspalten. Ich hoffe, die Werte innerhalb der Zelle vergleichen zu können, bevor sie aufgeteilt werden, und einen Wert zurückgeben zu können, der der größte in der Gruppe ist.
Ist das möglich? Mir ist gerade eingefallen, dass man eine etwas komplizierte Maschine haben könnte, die die Werte in ein separates Blatt aufteilt, und eine weitere Formel, die den Maximalwert aus diesen Zeilen nimmt. Ich würde die Verwendung mehrerer Blätter möglichst vermeiden.
Antwort1
Wenn ich das richtig verstanden habe, dann müsste folgende Formel funktionieren:
- In der Zelle verwendete FormelB1
=MAX(--TEXTSPLIT(A1,"; "))
Oder verwenden Sie es BYROW()
, um die gesamte Ausgabe auf einmal zu erhalten, ohne sie auszufüllen!
=BYROW(A1:A3,LAMBDA(α, MAX(--TEXTSPLIT(α,"; "))))
Mit den vorhandenen Beispieldaten funktioniert die obige Formel auch. Hier ist eine Beispieldemonstration.
Erläuterungen:
- Verwenden der Funktion: Sie hilft dabei, die Zeichenfolgen mithilfe des Trennzeichens --> über mehrere Spalten hinweg
TEXTSPLIT()
aufzuteilen . (Bitte beachten Sie die angezeigten Angaben.)semi-colon with a space
;
.gif
Da es sich um eine Funktion handelt, die unter die Funktionsbibliothek fälltTextDaher kann man erkennen, dass bei Verwendung die Datumszeichenfolgen als Text aufgeteilt werden, was ein Problem für zukünftige Datenmanipulationen schafft, (Notiz: In Excel werden Datums- und Uhrzeitangaben als Zahlen gespeichert. Der ganzzahlige Teil stellt daher das Datum dar, während die Dezimalstelle die Uhrzeit für das Datum angibt.)
Daher kann es, wie im OP vom Benutzer erwähnt, mithilfe von oder durch Addition oder durch Multiplikation mit oder durch Division durch DATEVALUE()
in echte Daten umgewandelt werden , was letztendlich zur Umwandlung führt.double unary
0
1
1
- Sobald das oben genannte erledigt ist, können wir es in eine
MAX()
Funktion einbinden, um zurückzukehrenneuste/größte/maximal/höchste(je nachdem, was zum Aussprechen passt) Datum.
Gründe dafür:
Warum der Benutzer 0
beim Verwenden der von mir bereitgestellten Formel die entsprechende Ausgabe erhielt DATEVALUE()
, wird im Screenshot verdeutlicht.
- Der Benutzer verwendete als Trennzeichen nur das Semikolon,
;
während ich ein Semikolon und ein Leerzeichen verwendete;
- Beim Umbrechen innerhalb
MAX()
des doppelten Unärwerts wurde ein Fehler zurückgegeben, da nur der erste Wert in eine Zahl umgewandelt wurde, während der zweite Wert einen Fehler zurückgab, da er ein führendes Leerzeichen hatte. Aber der Wert mit Semikolon und Leerzeichen als Trennzeichen sollte funktionieren, siehe Screenshots.
- Mithilfe
DATEVALUE()
der Funktion wird das führende Leerzeichen berücksichtigt und in eine Zahl umgewandelt. AbschließendMAX()
ergibt das Umschließen die gewünschte Ausgabe. Alternative Möglichkeiten wurden am Anfang mit erwähnt;
, und eine andere Möglichkeit, damit umzugehen, ist die Verwendung vonTRIM()
=MAX(--TRIM(TEXTSPLIT(A3,";")))
Antwort2
Ich habe es nicht versuchtdie Antwort von @MayukhBhattacharya, aber ich schätze die bereitgestellten Informationen und habe diesem Benutzer daher die Antwort gegeben.
Ich habe festgestellt, dass die Antworten in einen Datumswert geändert werden mussten, also habe ich die Formel DATEVALUE zwischen die Formeln MAX und TEXTSPLIT eingefügt.
Die Formel, die ich verwendet habe, war:
=MAX(DATEVALUE(TEXTSLIT(A2, ";")))
Siehe Beispiel unten:
Achten Sie darauf, die Zelle mit dem kurzen Datumsfeld zu formatieren.