Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


Höchsten %-Wert aus der eckigen Klammer ermitteln
#1
Hallo Forum,

und zwar habe ich folgendes Problem. Ich habe versucht den höchsten %-Wert aus den eckigen Klammern aus Spalte A in Spalte B zu kopieren (siehe Bild). Ich habe es mit der =MAX() Funktion versucht, was leider nicht funktioniert hat. Ich habe die Werte die ich haben wollte leider manuell in Spalte B eintragen müssen. Da ich mit sehr großen Tabellen arbeiten werde, kann ich dies leider nicht manuell machen. Daher wollte ich fragen ob mir jmd. diesbezüglich weiterhelfen könnte und eventuell eine Excelformel für dies parat hätte.

Vielen dank im Vorraus !

Efe

   
to top
#2
Hallo Efe

Hier mal ein Vorschlag.
Arbeitsblatt mit dem Namen 'Tabelle2'
 ABCDEFGHIJK
12.0 [77,45%] , 1.0 [19,97%], 1.5 [1,03%]5203412274077,45%19,97%1,03%77,45%

ZelleFormel
B1=SUCHEN("[";A1)
C1=SUCHEN("[";WECHSELN(A1;"[";"#";1))
D1=SUCHEN("[";WECHSELN(WECHSELN(A1;"[";"#";1);"[";"#";1))
E1=SUCHEN("]";A1)
F1=SUCHEN("]";WECHSELN(A1;"]";"#";1))
G1=SUCHEN("]";WECHSELN(WECHSELN(A1;"]";"#";1);"]";"#";1))
H1=--TEIL($A1;B1+1;E1-B1-1)
I1=--TEIL($A1;C1+1;F1-C1-1)
J1=--TEIL($A1;D1+1;G1-D1-1)
K1=MAX(H1:J1)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Wir sehen uns!
... shift-del
Eine Mustertabelle hilft beim Helfen.
Excel Super-Funktionen: VERWEIS(), INDEX(), WAHL()
[-] Folgende(r) 1 Benutzer sagt Danke an shift-del für diesen Beitrag:
Efe
to top
#3
Hallo,

falls Du ein Makro verwenden kannst, könntest Du es mit diesem versuchen.

Code:
Sub prcTestRegex()
   Dim re As Object, reMat As Object
   Dim lngC As Long, lngZ As Long
   Dim arrMax()
   Dim varWert
    
   Set re = CreateObject("vbscript.regexp")
   re.Pattern = "(\[\d+\,\d+\%\])"
   re.Global = True
   lngC = 1
   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, 2) = Application.WorksheetFunction.Max(arrMax)
      End If
      lngC = lngC + 1
   Wend
End Sub
Gruß Stefan
Win 7 / Office 2007
[-] Folgende(r) 1 Benutzer sagt Danke an Steffl für diesen Beitrag:
Efe
to top
#4
Hi efe,

nachdem ich mich jetzt auch schon eine ganze Weile mit dem Problem beschäftigt habe, möchte ich dir trotz zweier Lösungsvorschläge meinen nicht vorenthalten.
Ich arbeite hier mit

1. Text in Spalten, als Trenner das Komma
2. dann 3 Hilfsspalten, die du ausblenden kannst

Tabelle1

ABCDEFG
12.0 [77,45%]3.0 [51,5%]1.5 [60%] 0,77450,5150,677,45%
20.00123 [7,5%]3.0 [51,5%]1.5 [40%] 0,0750,5150,451,50%
Formeln der Tabelle
ZelleFormel
D1=WECHSELN(TEIL(A1;FINDEN("[";A1)+1;LÄNGE(A1));"]";"")*1
E1=WECHSELN(TEIL(B1;FINDEN("[";B1)+1;LÄNGE(B1));"]";"")*1
F1=WECHSELN(TEIL(C1;FINDEN("[";C1)+1;LÄNGE(C1));"]";"")*1
G1=MAX(D1:F1)
D2=WECHSELN(TEIL(A2;FINDEN("[";A2)+1;LÄNGE(A2));"]";"")*1
E2=WECHSELN(TEIL(B2;FINDEN("[";B2)+1;LÄNGE(B2));"]";"")*1
F2=WECHSELN(TEIL(C2;FINDEN("[";C2)+1;LÄNGE(C2));"]";"")*1
G2=MAX(D2:F2)

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Die Ergebnisspalte musst du mit % formatieren.
?mage

Misserfolg ist eine Chance, es beim
nächsten Mal besser zu machen.

(Henry Ford)
http://www.sprueche-zum-nachdenken.eu
[-] Folgende(r) 1 Benutzer sagt Danke an WillWissen für diesen Beitrag:
Efe
to top
#5
Hallo,

oder auch so:

Arbeitsblatt mit dem Namen 'Tabelle1'
 AB
152,0 [77,45%]; 1,0 [19,97%]; 1,5 [1,03%]77,45
162,0 [17,45%]; 1,0 [19,97%]; 1,5 [1,03%]19,97
172,0 [7,45%]; 1,0 [19,97%]; 1,5 [21,03%]21,03

ZelleFormel
B15{=MAX(TEIL(A15;SUCHEN("#";WECHSELN(A15;"[";"#";SPALTE(A1:C1)))+1;SUCHEN("x";WECHSELN(A15;"%";"x";SPALTE(A1:C1)))-SUCHEN("#";WECHSELN(A15;"[";"#";SPALTE(A1:C1)))-1)*1)}
B16{=MAX(TEIL(A16;SUCHEN("#";WECHSELN(A16;"[";"#";SPALTE(A2:C2)))+1;SUCHEN("x";WECHSELN(A16;"%";"x";SPALTE(A2:C2)))-SUCHEN("#";WECHSELN(A16;"[";"#";SPALTE(A2:C2)))-1)*1)}
B17{=MAX(TEIL(A17;SUCHEN("#";WECHSELN(A17;"[";"#";SPALTE(A3:C3)))+1;SUCHEN("x";WECHSELN(A17;"%";"x";SPALTE(A3:C3)))-SUCHEN("#";WECHSELN(A17;"[";"#";SPALTE(A3:C3)))-1)*1)}
Achtung, Matrixformel enthalten!
Die geschweiften Klammern{} werden nicht eingegeben.
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine.
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Gruß


Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Benutzer sagt Danke an BoskoBiati für diesen Beitrag:
Efe
to top
#6
Morgen, Fellas;
am einfachsten ist diese Aufgabe wohl unter Zuhilfenahme von UDFs zu lösen, bspw so:
=MAX(--Splint(MaskOn(MaskOn(A2;"mrk[]");"zw")))/100
Wobei das /100 nur erforderlich ist, wenn das Ergebnis als %-Zahl formatiert werden soll.
Die beiden UDFs Splint und MaskOn wurden bereits im Internet veröffentlicht. Auf Wunsch kann ich Links oder auch gleich die Programme z.V. stellen.
Gruß und Guten Rutsch (da bin ich weg)! 17
Castor
[-] Folgende(r) 1 Benutzer sagt Danke an Castor für diesen Beitrag:
Efe
to top
#7
Erst einmal vielen vielen Dank für die schnellen Antworten !28

Ich werde in den nächsten Tagen alle Antworten testen und sagen für welche ich mich schlussendlich entschieden habe. Ich bedanke mich nochmal vielmals bei allen Usern !!

Grüße
Efe
to top
#8
Hallo Forum,

ich habe mich für BoskoBiatis (vielen Dank !) Formel entschieden, vielen Dank nochmal an alle !
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Wert suchen in Spalte und wert da neben ausgeben VBA michel34497 2 39 02.12.2016, 23:33
Letzter Beitrag: michel34497
  Wochenzahl ermitteln dindu 5 84 19.11.2016, 11:41
Letzter Beitrag: dindu
  Tabelle nach Wert durchsuchen, und jede Zeile ausspucken die diesen Wert besitzt THE ARCHITECT 14 260 01.11.2016, 12:19
Letzter Beitrag: snb
  Makro: Wenn Zelle Wert ≠ 0, dann Wert speichern und Formel löschen TsuBasti1 6 223 01.10.2016, 06:27
Letzter Beitrag: IchBinIch
  Alter des Hundes ermitteln Gurch 5 162 28.09.2016, 19:45
Letzter Beitrag: Gurch
  Wenn ein Wert aus Spalte ähnlich dem Wert der Zelle, dann Nightflash 5 257 12.09.2016, 08:58
Letzter Beitrag: Nightflash
  Mittelwert Indirekt ermitteln Norcoc 10 397 04.09.2016, 22:01
Letzter Beitrag: Norcoc
  Fortlaufende Nummerierung nur wenn Wert in der Nachbarzelle seinem Vor-Wert gleicht chilly_bang 3 332 17.06.2016, 11:48
Letzter Beitrag: chilly_bang
  Wenn Wert von SVerweis1 kleiner als Wert von SVerweis2 ? Bummi 3 352 14.06.2016, 10:50
Letzter Beitrag: chris-ka
  Wert einer Spalte ermitteln mit anschließend abhängigem Wert Pridox 1 269 11.05.2016, 09:48
Letzter Beitrag: steve1da

Gehe zu:


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