Microsoft Excel

Herbers Excel/VBA-Archiv

Maximalwert aus liste Mit unterbrechnung

Betrifft: Maximalwert aus liste Mit unterbrechnung von: Thomas
Geschrieben am: 17.09.2014 22:11:05

Hallo Leute habe ein Problem ...hoffe ihr könnt mir helfen bzw. es ist überhaupt machbar

ich habe folgende Tabelle

Spalte A unterschiedliche Werte
Spalte B ein Unterschiedliche Orte
Spalte C eine Enfernung die aus einer anderen Tabelle hinterlegten Liste gezogen wird

  • A       B          C       D
    Typ      Ort        km    MaxWert
    1        Berlin       800   800
    1        München  600
    1        Stuttgart  700
    leer
    leer
    2       Köln         500
    2       Hamburg   800   800
    2       Nürnberg   100


  • Ich möchte nun das mir Excel in Spalte D den Größten Wert für "Typ 1" dann für "Typ 2" usw. mit Hilfe einer Formel ausrechnet.
    Bei Leerzeilen muss nichts stehen.
    Ist das überhaupt möglich?

    Wäre sehr dankbar für eure Hilfe

    MFG
    Thomas

      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Mullit
    Geschrieben am: 17.09.2014 23:08:12

    Hallo,

    sowas könnte gehen:

     ABCD
    1ABCD
    2TypOrtkmMaxWert
    31Berlin800800
    41München600 
    51Stuttgart700 
    6    
    7    
    82Köln500800
    92Hamburg800 
    102Nürnberg100 

    ZelleFormel
    D3{=WENN(UND($A3<>"";$A3<>$A2);MAX(WENN($A$3:$A$10=$A3;$C$3:$C$10;""));"")}
    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ß,


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Thomas
    Geschrieben am: 17.09.2014 23:28:56

    Hallo,

    scheint auf den ersten Blick wunderbar zu funktionieren,
    nur noch eine Frage, besteht die Möglichkeit diese FOrmel in "Länge" also die Anzahl der Zeilen offen zu lassen.
    Sprich das man die Formel einfach runterziehen kann?


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Mullit
    Geschrieben am: 17.09.2014 23:32:43

    Hallo,

    nur auf den ersten Blick: Korrektur hab' ich schon angehängt, Runterziehen müsste problemlos gehen...

    Gruß,


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Thomas
    Geschrieben am: 17.09.2014 23:37:08

    mhh das mit dem Runterziehen scheint nicht zu gehen....

    Die Formel geht ja nur bis Zeile 10.
    Ich müsste also die Formel an dieser Stelle jedes mal per hand abändern, oder?


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Mullit
    Geschrieben am: 17.09.2014 23:54:14

    Hallo,

    klar, Du mußt natürlich in der ersten Formel in D3 Deine Maximalbereich auswählen und dann runterziehen, oder Du vergibst Namen:
    z.B: Bereich_Typ, Bereich_km:

     ABCD
    1ABCD
    2TypOrtkmMaxWert
    31Berlin800800
    41München600 
    51Stuttgart700 
    6    
    7    
    82Köln500 
    92Hamburg800800
    102Nürnberg100 
    11    
    12    
    13    
    143Dresden200 
    153Wolfsburg100 
    163Mainz10001000

    ZelleFormel
    D3{=WENN(UND($A3<>"";$C3=MAX(WENN(Bereich_Typ=$A3;Bereich_km;"")));$C3;"")}
    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ß,


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Thomas
    Geschrieben am: 18.09.2014 00:00:11

    Ok, ich denke die Länge zu definieren sollte kein Problem sein...

    noch eine Zweite hätte ich gerade....funktioniert denke ich so ähnlich
    ich Möchte noch in einer weitere Spalte die Anzahl der Unterschiedlichen Orte für Typ1 Typ2 usw. haben
    Also bei Typ 1 = 3 Orte
    Bei Typ2 = 3 Orte

    gibt es hier auch noch eine Möglichkeit?
    Habe es mal hiermit versucht, aber diese Formel kann ich nicht runterziehen:

    {=SUMME(1/ZÄHLENWENN(B4:B6;B4:B6))}

    hier müsste ich den Bereich jedes mal von Hand neu bestimmen, wenn es z.B mal nur 2 oder 4 Orte sind...


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Mullit
    Geschrieben am: 18.09.2014 00:05:58

    Hallo,

    oh cool: hier kann man ja auch die Bereiche angeben:

     ABCD
    1ABCD
    2TypOrtkmMaxWert
    31Berlin800800
    41München600 
    51Stuttgart700 
    6    
    7    
    82Köln500 
    92Hamburg800800
    102Nürnberg100 
    11    
    12    
    13    
    143Dresden200 
    153Wolfsburg100 
    163Mainz10001000

    NameBezug
    Bereich_km=Tabelle1!$C$3:$C$16
    Bereich_Typ=Tabelle1!$A$3:$A$16

    ZelleFormel
    D3{=WENN(UND($A3<>"";$C3=MAX(WENN(Bereich_Typ=$A3;Bereich_km;"")));$C3;"")}
    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ß,


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Thomas
    Geschrieben am: 18.09.2014 09:18:20

    Ok, ich denke die Länge zu definieren sollte kein Problem sein...

    noch eine Zweite Frage hätte ich gerade....funktioniert denke ich so ähnlich
    ,ich möchte noch in einer weiteren Spalte die Anzahl der unterschiedlichen Orte für Typ1 Typ2 usw. haben
    Also bei Typ 1 = 3 Orte
    Bei Typ2 = 3 Orte

    gibt es hier auch noch eine Möglichkeit?
    Habe es mal hiermit versucht, aber diese Formel kann ich nicht runterziehen:

    {=SUMME(1/ZÄHLENWENN(B4:B6;B4:B6))}

    hier müsste ich den Bereich jedes mal von Hand neu bestimmen, wenn es z.B mal nur 2 oder 4 Orte sind...


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Mullit
    Geschrieben am: 19.09.2014 23:16:18

    Hallo,

    mit dem Runterziehen der Formel hab' ich auch Probleme; bin mit Formeln aber auch nicht so fit;
    wenn Du auf Excelformeln.de keine Lösung findest, könntest Du's mit einer UDF versuchen:

    ' ********************************************************************** 
    ' Modul: Tabelle1 Typ: Klassenmodul des Tabellenblattes 
    ' ********************************************************************** 
    
    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
      Static sobjRange As Range
      With Target
          If .Count = 1 Then _
            If Left$(String:=CStr(.Formula), _
              Length:=Len("=fncNoDuplicates")) = "=fncNoDuplicates" Then _
              Set sobjRange = Target
          If sobjRange Is Nothing Then _
            Set sobjRange = Cells(3, 5)
          If Not Intersect(Cells(3, 2).Resize(Cells(Rows.Count, 1).End(xlUp).Row, 2), Target) Is Nothing Or _
            Not Intersect(Cells(3, 1).Resize(Cells(Rows.Count, 1).End(xlUp).Row, 1), Target) Is Nothing And _
            Cells(.Row, .Column + 1).Text <> vbNullString Then
            Application.EnableEvents = False
            sobjRange.Formula = fncNoDuplicates( _
              oprobjRange:=Cells(3, 2).Resize(Cells(Rows.Count, 1).End(xlUp).Row, 2), _
            oprobjCell:=sobjRange)
            Application.EnableEvents = True
          End If
     End With
    End Sub
    
    ' ********************************************************************** 
    ' Modul:  Typ: Standardmodul 
    ' ********************************************************************** 
    
    Option Explicit
    
    Private Declare Function SetTimer Lib "user32.dll" ( _
         ByVal hwnd As Long, _
         ByVal nIDEvent As Long, _
         ByVal uElapse As Long, _
         ByVal lpTimerFunc As Long) As Long
    Private Declare Function KillTimer Lib "user32.dll" ( _
         ByVal hwnd As Long, _
         ByVal nIDEvent As Long) As Long
    
    Private lobjCell As Range
    Private llngRow As Long
    Private llngLastRow As Long
    
    Public Function fncNoDuplicates(Optional oprobjRange As Range, _
      Optional oprobjCell As Range) As String
    Dim lngIndex As Long
    Dim objRange As Range
    Application.EnableEvents = False
    If Not oprobjRange Is Nothing Then
      With oprobjRange
          llngLastRow = Cells(.Rows.Count, .Column).Row
      End With
    Else
      On Error Resume Next
      lngIndex = Application.Caller.Row
      If Err.Number = 0 Then _
        llngLastRow = Cells(Rows.Count, 1).End(xlUp).Row
      On Error GoTo 0
    End If
    If Not lobjCell Is Nothing Then
      With lobjCell
          lngIndex = .Row
          Set objRange = Cells(.Row + 1, 1)
      End With
    ElseIf oprobjCell Is Nothing Then
      lngIndex = Application.Caller.Row - 1
      Set objRange = Cells(Application.Caller.Row, 1)
    Else
      With oprobjRange.Cells(1, 1)
          lngIndex = .Row - 1
          Set objRange = Cells(.Row, 1)
      End With
    End If
    Do
      lngIndex = lngIndex + 1
    Loop While Cells(lngIndex, 1) = objRange And Cells(lngIndex, 2) <> vbNullString
    If Not lobjCell Is Nothing Then
      With lobjCell
          Set lobjCell = Cells(.Row + 1, .Column)
      End With
    ElseIf oprobjCell Is Nothing Then
      Set lobjCell = Application.Caller
    Else
      Set lobjCell = oprobjCell
    End If
    llngRow = lngIndex - 1
    Set objRange = Nothing
    Call prcStartTimer
    End Function
    
    Private Sub prcStartTimer()
     SetTimer Application.hwnd, 0&, 1&, AddressOf TimerProc
    End Sub
    
    Private Sub prcStopTimer()
    KillTimer Application.hwnd, 0&
    End Sub
    
    Private Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, _
         ByVal uElapse As Long, ByVal lpTimerFunc As Long)
      On Error Resume Next
      Call prcStopTimer
      Call prcFormula
    End Sub
    
    Private Sub prcFormula()
    With lobjCell
        .FormulaArray = "=IF(AND(A" & .Row & "<>"""",A" & .Row & "<>A" & .Row - 1 & "),SUM(1/COUNTIF(B" & .Row & _
          ":B" & llngRow & ",B" & .Row & ":B" & llngRow & ")),"""")"
        If .Row < llngLastRow Then
          Cells(.Row + 1, .Column).Formula = fncNoDuplicates()
        Else
          Set lobjCell = Nothing
          llngRow = 0
          llngLastRow = 0
          Application.EnableEvents = True
        End If
    End With
    End Sub




    VBA/HTML - CodeConverter für Office-Foren
    AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
    Projektbetreuung durch mumpel



    Code erstellt und getestet in Office 12

    Wie bei Mission Impossible terminiert sich die Funktion selbst; in den Zellen steht dann die eigentliche Arrayformel...

    Der Aufruf geht dann so(2 Varianten):

     ABCDE
    1ABCD 
    2TypOrtkmMaxWertversch. Städte
    31Berlin8008006
    41Mainz600  
    51Berlin700  
    61München   
    71Guggelheim   
    81Waldorf   
    91Mailand   
    10     
    112Köln500 4
    122Berlin800  
    132Hamburg100  
    142Hamburg40004000 
    152Leer567  
    16     
    173Dresden200 4
    183Wolfsburg100  
    193Dresden10001000 
    203Leipzig600  
    213Neustadt400  

    ZelleUDF temporär
    E3= fncNoDuplicates()
    E3= fncNoDuplicates(A3:A21)

    ZelleFormel
    D3{=WENN(UND($A3<>"";$C3=MAX(WENN($A$3:$A$21=$A3;$C$3:$C$21;"")));$C3;"")}
    E3{=WENN(UND(A3<>"";A3<>A2);SUMME(1/ZÄHLENWENN(B3:B9;B3:B9));"")}
    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ß,


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: thomas
    Geschrieben am: 19.09.2014 23:52:21

    Hi danke für den Tipp.

    Aber ich muss sagen, ich hab keine Ahnung was Ne UDF ist oder wie ich das "einstellen" kann.

    Kannst du mir mal ne kurzanleitung geben?

    Wäre echt Net


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Mullit
    Geschrieben am: 20.09.2014 00:54:00

    Hallo,

    UDF steht für User-Defined Function zu deutsch Bentzerdefinierte Funktion:

    Du kannst in Excel nicht nur die vorinstallierten Formeln und Tabellenblattfunktionen nutzen, sondern Dir über VBA auch eigene proggen:
    In diesem Fall: fncNoDuplicates; zu erkennen an dem Function Schlüsselwort.

    Den ersten Code für die Ereignisprozedur gibst Du in das Klassenmodul des Tabellenblattes ein.

    Für den zweiten Code fügst Du ein neues Standardmodul in den VBA Editor ein und kopierst den Code dort hinein.

    Du rufst die Funktion wahlweise mit Bereichsangabe oder ohne nur in der Zeile auf, in der die Aufzählung beginnen soll, in meinem Bsp:: Zelle E3

    Möchte man die Geschwindigkeit erhöhen, könnte man die Formeln nur in den Ergebniszellen anzeigen lassen oder
    auf sie ganz verzichten, aber so kannst Du noch händisch was anpasssen...
    Vielleicht schicke ich davon noch eine Variante nach...

    Gruß,


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Thomas
    Geschrieben am: 20.09.2014 01:05:02

    Mhhhh das ist dann doch wohl etwas, was über erweiterte Grundkenntnisse hinausgeht.. xD
    Das ist ja dann wirklich schon Programmierung :-D

    wie bastelt man sich denn so eine UDF zusammnen?
    Würde immer gern verstehen was ich da tue und nicht einfach blind kopieren :-D


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Mullit
    Geschrieben am: 20.09.2014 01:46:15

    Hallo,

    Das ist ja dann wirklich schon Programmierung

    ja, so ist das...

    Ok, dann wirst Du Dich erstmal um die Grundlagen kümmern müssen; dazu einige Links für Funktionen:

    http://de.wikibooks.org/wiki/VBA_in_Excel/_Funktionen#Einsatz_von_benutzerdefinierten_Funktionen_.28UDF.29
    http://www.edv-buchversand.de/?cnt=getchapter&id=ms-5209.pdf
    http://www.lagotzki.de/scripte/vba/functions.html

    und bei Bedarf allgemein zu VBA:

    http://www.office-loesung.de/p/viewtopic.php?f=166&t=666932

    Gruß,


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Thomas
    Geschrieben am: 20.09.2014 01:48:53

    Ok Danke. :-)

    Aber mal eine Frage, die Formel fürs runterziehen der Anzahl der Städte funktioniert bei mir nicht wirklich.

    Wenn ich dir Formel runterziehe, verrutsch alles und dann stimmt das Ergebnis nicht mehr.
    Kann man hier evtl. wieder mit Bereichen Arbeiten?


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Mullit
    Geschrieben am: 20.09.2014 02:14:35

    Hallo,

    tja wie schon geschrieben für das Runterziehen hatte ich bisher auch keine Lösung, zumal Du ja in Deiner Tabelle auch Teilbereiche hast...

    Darum ja die UDF: Code einfügen fncNoDuplicates() in E3 oder eine Zelle Deiner Wahl einfügen, schon wird Dir die versch. Städteanzahl automatisch generiert....

    Gruß,


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Mullit
    Geschrieben am: 20.09.2014 10:06:34

    Hallo,

    die Events mussten noch an anderer Stelle ausgeschaltet werden, Du kannst die Formel jetzt an beliebiger Stelle einfügen, die Arrayformeln werden immer auf Tabellenhöhe eingefügt und zwar nur in den Ergebniszellen.

    Über die öffentlichen Konstanten kannst Du jetzt Deine Ausgangstabelle bestimmen.
    Die UDF brauchst Du nur in eine Zelle einfügen und nicht runterziehen.

    ' ********************************************************************** 
    ' Modul: Tabelle1 Typ: Klassenmodul des Tabellenblattes 
    ' ********************************************************************** 
    
    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
      Static sobjRange As Range
      With Target
          If .Count = 1 Then
            If Left$(String:=CStr(.Formula), _
              Length:=Len("=fncNoDuplicates")) = "=fncNoDuplicates" Then
              If Target.Row = START_ROW Then
                Set sobjRange = Target
              Else
                Set sobjRange = Cells(START_ROW, Target.Column)
              End If
            End If
          End If
          If sobjRange Is Nothing Then _
            Set sobjRange = Cells(START_ROW, COLUMN_NODUPLICATES)
          If Not Intersect(Cells(START_ROW, COLUMN_ALLTOWN).Resize( _
            Cells(Rows.Count, 1).End(xlUp).Row, COLUMN_ALLTOWN), Target) Is Nothing Or _
            Not Intersect(Cells(START_ROW, START_COLUMN).Resize( _
              Cells(Rows.Count, 1).End(xlUp).Row, START_COLUMN), Target) Is Nothing And _
            Cells(.Row, .Column + 1).Text <> vbNullString Then
            Application.EnableEvents = False
            sobjRange.Formula = fncNoDuplicates(oprobjRange:=Cells( _
              START_ROW, COLUMN_ALLTOWN).Resize(Cells(Rows.Count, 1).End(xlUp).Row, COLUMN_ALLTOWN), _
              oprobjCell:=sobjRange)
            Application.EnableEvents = True
          End If
     End With
    End Sub
    
    ' ********************************************************************** 
    ' Modul:  Typ: Standardmodul 
    ' ********************************************************************** 
    
    Option Explicit
    
    Private Declare Function SetTimer Lib "user32.dll" ( _
         ByVal hwnd As Long, _
         ByVal nIDEvent As Long, _
         ByVal uElapse As Long, _
         ByVal lpTimerFunc As Long) As Long
    Private Declare Function KillTimer Lib "user32.dll" ( _
         ByVal hwnd As Long, _
         ByVal nIDEvent As Long) As Long
    
    Public Const START_ROW As Long = 3  'Tabelle 1.Zeile 
    Public Const COLUMN_NODUPLICATES As Long = 5  'Spalte versch. Städte 
    Public Const COLUMN_ALLTOWN As Long = 2 'Spalte alle Städte 
    Public Const START_COLUMN As Long = 1  'Tabelle 1.Spalte 
    
    Private lobjCell As Range
    Private llngRow As Long
    Private llngLastRow As Long
    
    Public Function fncNoDuplicates(Optional oprobjRange As Range, _
      Optional oprobjCell As Range) As String
    Dim lngIndex As Long
    Dim objRange As Range
    With Application.Caller
        If Not oprobjRange Is Nothing Then
          With oprobjRange
              llngLastRow = Cells(.Rows.Count, .Column).Row
          End With
        Else
          On Error Resume Next
          lngIndex = .Row
          If Err.Number = 0 Then _
            llngLastRow = Cells(Rows.Count, START_COLUMN).End(xlUp).Row
          On Error GoTo 0
        End If
        If Not lobjCell Is Nothing Then
          With lobjCell
              lngIndex = .Row
              Set objRange = Cells(.Row + 1, START_COLUMN)
          End With
        ElseIf oprobjCell Is Nothing Then
          If .Row <> START_ROW Then
            lngIndex = START_ROW - 1
            Set objRange = Cells(START_ROW, START_COLUMN)
          Else
            lngIndex = .Row - 1
            Set objRange = Cells(.Row, START_COLUMN)
          End If
        Else
          With oprobjRange.Cells(1, 1)
              lngIndex = .Row - 1
              Set objRange = Cells(.Row, START_COLUMN)
          End With
        End If
        Do
          lngIndex = lngIndex + 1
        Loop While Cells(lngIndex, START_COLUMN) = objRange And Cells(lngIndex, COLUMN_ALLTOWN) <> vbNullString
        If Not lobjCell Is Nothing Then
          With lobjCell
              Set lobjCell = Cells(.Row + 1, .Column)
          End With
        ElseIf oprobjCell Is Nothing Then
          If .Row <> START_ROW Then
            Set lobjCell = Cells(START_ROW, .Column)
          Else
            Set lobjCell = Application.Caller
          End If
        Else
          Set lobjCell = oprobjCell
        End If
    End With
    llngRow = lngIndex - 1
    Set objRange = Nothing
    Call prcStartTimer
    End Function
    
    Private Sub prcStartTimer()
     SetTimer Application.hwnd, 0&, 1&, AddressOf TimerProc
    End Sub
    
    Private Sub prcStopTimer()
    KillTimer Application.hwnd, 0&
    End Sub
    
    Private Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, _
         ByVal uElapse As Long, ByVal lpTimerFunc As Long)
      On Error Resume Next
      Call prcStopTimer
      Call prcFormula
    End Sub
    
    Private Sub prcFormula()
    Dim lngRow As Long
    With Application
        If .EnableEvents Then _
          .EnableEvents = False
    End With
    With lobjCell
        .FormulaArray = "=IF(AND(A" & .Row & "<>"""",A" & .Row & "<>A" & .Row - 1 & "),SUM(1/COUNTIF(B" & .Row & _
          ":B" & llngRow & ",B" & .Row & ":B" & llngRow & ")),"""")"
        If .Row < llngLastRow Then
          On Error GoTo Sub_Exit
          lngRow = Cells(.Row + 1, START_COLUMN).Resize(llngLastRow, START_COLUMN).Find( _
             What:=Cells(.Row, 1) + 1, LookIn:=xlValues, LookAt:=xlWhole).Row
          On Error GoTo 0
          Set lobjCell = Cells(lngRow - 1, .Column)
          Cells(lngRow, .Column).Formula = fncNoDuplicates()
        Else
    Sub_Exit:
          Set lobjCell = Nothing
          llngRow = 0
          llngLastRow = 0
          Application.EnableEvents = True
        End If
    End With
    End Sub




    VBA/HTML - CodeConverter für Office-Foren
    AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
    Projektbetreuung durch mumpel



    Code erstellt und getestet in Office 14

    Gruß,


      

    Betrifft: AW: Maximalwert aus liste Mit unterbrechnung von: Mullit
    Geschrieben am: 17.09.2014 23:28:26

    Hallo,

    uuups es muß natürlich die richtige Zeile sein:

     ABCD
    1ABCD
    2TypOrtkmMaxWert
    31Berlin800800
    41München600 
    51Stuttgart700 
    6    
    7    
    82Köln500 
    92Hamburg800800
    102Nürnberg100 

    ZelleFormel
    D3{=WENN(UND($A3<>"";$C3=MAX(WENN($A$3:$A$10=$A3;$C$3:$C$10;"")));$C3;"")}
    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ß,


     

    Beiträge aus den Excel-Beispielen zum Thema "Maximalwert aus liste Mit unterbrechnung"