Name und %-Zahl der Werte aus der Zelle extrahieren
#1
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

   

.xlsx   Name und %-Zahl der Werte aus der Zelle extrahieren.xlsx (Größe: 10,37 KB / Downloads: 4)
Top
#2
Hallo,

gelöscht - Ergebnis passte nur teilweise
Gruß
Peter
Top
#3
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.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#4
Hallo WillWissen,

die Beispieltabelle habe ich schon zur Verfügung gestellt (unten im ersten Beitrag).
Für alle Fälle hier nochmal.



.xlsx   Name und %-Zahl der Werte aus der Zelle extrahieren.xlsx (Größe: 10,37 KB / Downloads: 4)
Top
#5
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. Blush
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#6
Hallo Efe

In Anlehnung an meinen Vorschlag im anderen Thread.
Arbeitsblatt mit dem Namen 'Sheet1 (4)'
 ABCDEFGHIJKLMNOPQRSTUVWXYZAA
1 123412341234MAX123412341234MAX
2ON [18,909%] OFF [81,091%]418########1226########0,190,81000,8109111428####418########ONOFF  OFF
3E_ASP1 [5,068%] E_ASP_off [18,919%] E_ASP1_ASP2 [76,014%]82749####153557####0,050,190,7600,76014117375982749####E_ASP1E_ASP_offE_ASP1_ASP2 E_ASP1_ASP2
4ON [2,320%] OFF [97,680%]417########1125########0,020,98000,976811327####417########ONOFF  OFF

ZelleFormel
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
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • Efe
Top
#7
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
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Efe
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste