Um die Zahlen zu erhalten, wenn sie am Anfang der Zeichenfolge stehen, können wir Folgendes verwenden:
=MID(A2,1,AGGREGATE(14,6,SEARCH("}}}",SUBSTITUTE(A2,,"}}}",LEN(A2)-LEN(SUBSTITUTE(A2,,"")))),1))
Als Basisformel findet dies das Ende der Zahl und gibt dieses als Ende der MID () - Funktion zurück.
Hier ist viel los:
SUBSTITUTE(A2,,"}}}",LEN(A2)-LEN(SUBSTITUTE(A2,,"")))
Wenn dieser Teil die Zahlen durchläuft, ersetzt er die letzte Instanz jeder Zahl durch }}}
.
Das dritte Kriterium von SUBSTITUTE ist die Instanz. Wir finden die Anzahl der Instanzen mit LEN(A2)-LEN(SUBSTITUTE(A2,,""))
. Es iteriert durch die Zahlen und ersetzt jede zu einer Zeit durch nichts. Es findet dann den Längenunterschied der ursprünglichen und der neuen Zeichenfolge.
Im Falle von A2 also, wenn es zu iteriert, 2
findet es 2 und der äußere Ersatz ersetzt den letzten durch }}}
. Dies ist nur ein temporärer Platzhalter.
Die Aggregatfunktion ist eine Multifunktionsfunktion. Die 14 zeigt die Large()
Funktionen an, mit denen wir die Funktion verwenden. Das 6
sagt die Funktion Fehler zu ignorieren. Dies ist insofern wichtig, als viele der Iterationen nichts finden und einen Fehler zurückgeben.
Mit dem 1
am Ende teilt es der Funktion mit, dass wir die höchste Rendite von der Suchfunktion erhalten möchten, die nach den temporären sucht }}}
, die durch die Iteration in der letzten Instanz jeder Zahl platziert werden.
Das Aggregat gibt also die gefundene Höchstzahl zurück. Was wir in der Mid-Funktion an das Längenkriterium übergeben.
Wir haben also die Nummer vor der Zeichenkette gefunden.
Wir können also zwei davon multiplizieren, um die gewünschte Ausgabe zu erhalten (Jede mathematische Funktion wandelt den zurückgegebenen String in eine Zahl um):
=MID(A2,1,AGGREGATE(14,6,SEARCH("}}}",SUBSTITUTE(A2,,"}}}",LEN(A2)-LEN(SUBSTITUTE(A2,,"")))),1))*MID(B2,1,AGGREGATE(14,6,SEARCH("}}}",SUBSTITUTE(B2,,"}}}",LEN(B2)-LEN(SUBSTITUTE(B2,,"")))),1))
Eine Einschränkung Die Aggregatfunktion wurde in Excel 2010 eingeführt. Sie funktioniert möglicherweise nicht mit älteren Versionen.
Wenn Sie eine ältere Version haben, müssen Sie diese längere Formel verwenden:
=MID(A2,1,MAX(IF(ISNUMBER(SEARCH("}}}",SUBSTITUTE(A2,,"}}}",LEN(A2)-LEN(SUBSTITUTE(A2,,""))))),SEARCH("}}}",SUBSTITUTE(A2,,"}}}",LEN(A2)-LEN(SUBSTITUTE(A2,,"")))))))*MID(B2,1,MAX(IF(ISNUMBER(SEARCH("}}}",SUBSTITUTE(B2,,"}}}",LEN(B2)-LEN(SUBSTITUTE(B2,,""))))),SEARCH("}}}",SUBSTITUTE(B2,,"}}}",LEN(B2)-LEN(SUBSTITUTE(B2,,"")))))))
Es macht ungefähr dasselbe wie das oben Gesagte, dass es zuerst auf Fehler prüfen muss, bevor die max.