Hallo Forum,
und zwar habe ich folgende Probleme:
1. Versuche ich den Namen des Wertes mit der höchsten %-Zahl aus der Spalte A in Spalte B zu extrahieren.
2. Die %-Zahl des dazugehörigen Wertes in die Spalte C zu extrahieren.
Eventuell könnte euch mein alter Thread dazu weiterhelfen:
http://www.clever-excel-forum.de/thread-1362.html
Am besten bitte keine Lösungen mit Macros.
Zur besseren Verdeutlichung habe ich ein Bild hochgeladen, welches die gewünschte Lösung anzeigt (manuell eingetragen).
Außerdem habe ich die Excel-Datei mit den Werten angehängt.
Vielen Dank im Vorraus !
Grüße
Efe
[
attachment=1367]
[
attachment=1368]
Hallo,
gelöscht - Ergebnis passte nur teilweise
Hi efe,
bitte stelle eine Beispieltabelle zur Verfügung. (
So geht's)
Klick!!
Nur aufgrund des Bildes sind die Helfer gezwungen, die Tabelle nachzubauen, um dir eine entsprechende Lösung anbieten zu können. Das macht keiner gerne.
Hallo WillWissen,
die Beispieltabelle habe ich schon zur Verfügung gestellt (unten im ersten Beitrag).
Für alle Fälle hier nochmal.
[
attachment=1369]
Hi Efe,
Code:
die Beispieltabelle habe ich schon zur Verfügung gestellt (unten im ersten Beitrag).
Für alle Fälle hier nochmal.
wer lesen kann, ist klar im Vorteil. Es tut mir leid, aber das hatte ich total übersehen.
Hallo Efe
In Anlehnung an meinen Vorschlag im anderen Thread.
Arbeitsblatt mit dem Namen 'Sheet1 (4)' |
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA |
1 | | 1 | 2 | 3 | 4 | 1 | 2 | 3 | 4 | 1 | 2 | 3 | 4 | MAX | 1 | 2 | 3 | 4 | 1 | 2 | 3 | 4 | 1 | 2 | 3 | 4 | MAX |
2 | ON [18,909%] OFF [81,091%] | 4 | 18 | #### | #### | 12 | 26 | #### | #### | 0,19 | 0,81 | 0 | 0 | 0,81091 | 1 | 14 | 28 | #### | 4 | 18 | #### | #### | ON | OFF | | | OFF |
3 | E_ASP1 [5,068%] E_ASP_off [18,919%] E_ASP1_ASP2 [76,014%] | 8 | 27 | 49 | #### | 15 | 35 | 57 | #### | 0,05 | 0,19 | 0,76 | 0 | 0,76014 | 1 | 17 | 37 | 59 | 8 | 27 | 49 | #### | E_ASP1 | E_ASP_off | E_ASP1_ASP2 | | E_ASP1_ASP2 |
4 | ON [2,320%] OFF [97,680%] | 4 | 17 | #### | #### | 11 | 25 | #### | #### | 0,02 | 0,98 | 0 | 0 | 0,9768 | 1 | 13 | 27 | #### | 4 | 17 | #### | #### | ON | OFF | | | OFF |
Zelle | Formel |
B2 | =SUCHEN("#";WECHSELN($A2;"[";"#";B$1)) |
F2 | =SUCHEN("#";WECHSELN($A2;"]";"#";F$1)) |
J2 | =WENNFEHLER(--TEIL($A2;B2+1;F2-B2-1);0) |
N2 | =MAX(J2:L2) |
P2 | =F2+2 |
S2 | =B2 |
W2 | =WENNFEHLER(TEIL($A2;O2;S2-O2-1);"") |
AA2 | =INDEX(W2:Z2;VERGLEICH(N2;J2:M2;0)) |
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg |
Hallo,
ich habe zwar jetzt erst gelesen, das Du am besten keine Makrolösung willst, da ich aber meine Makrolösung bereits fertig gestellt habe, poste ich es eben trotzdem.
Code:
Sub prcTestRegex()
Dim re As Object, reMat As Object
Dim lngC As Long, lngZ As Long, lngA As Long
Dim arrMax()
Dim varWert
Set re = CreateObject("vbscript.regexp")
re.Pattern = "(\[\d+\,\d+\%\])"
re.Global = True
lngC = 2
While Cells(lngC, 1) <> ""
Set reMat = re.Execute(Cells(lngC, 1))
If reMat.Count Then
ReDim arrMax(reMat.Count - 1)
For lngZ = 0 To reMat.Count - 1
arrMax(lngZ) = CDbl(Left(Mid(reMat(lngZ), 2), Len(Mid(reMat(lngZ), 2)) - 2))
Next lngZ
Cells(lngC, 3) = Application.WorksheetFunction.Max(arrMax)
varWert = Split(Cells(lngC, 1), " ")
Cells(lngC, 2) = varWert(Application.WorksheetFunction.Match("[" & Format(Cells(lngC, 3), "#0.000") & "%]", varWert, 0) - 2)
End If
lngC = lngC + 1
Wend
End Sub