Thema Datum  Von Nutzer Rating
Antwort
26.07.2021 14:41:21 Fischer494
NotSolved
26.07.2021 14:57:49 Gast37711
NotSolved
Rot Funktion: Summewenns mit Texten?
26.07.2021 23:44:21 xlKing
NotSolved
27.07.2021 06:37:46 Gast65132
NotSolved
27.07.2021 17:47:04 Gast52973
NotSolved
27.07.2021 17:49:50 Gast18092
NotSolved
27.07.2021 18:14:30 xlKing
NotSolved

Ansicht des Beitrags:
Von:
xlKing
Datum:
26.07.2021 23:44:21
Views:
272
Rating: Antwort:
  Ja
Thema:
Funktion: Summewenns mit Texten?

Hallo Fischer,

Es wundert mich dass die Formel bei dir funktoiniert. m.W. muss für die Suche in Datumsbereichen das Kriteriendatum in eine laufende Zahl umgewandelt werden. Das geht mit Wert(G8). Wenns bei dir aber auch ohne geht, kannst du das natürlich auch weglassen.

Außerdem solltest du nur die Bereiche benennen, die du auch wirklich summieren willst. Wenn du mehrere Formeln verwendest und immer die kompletten Spalten angibst, kann Excel sehr schnell sehr langsam bei der Formelberechnung werden. Dann wartest du u.U. Minuten auf das Ergebnis. Mach also statt $F:$F lieber $F$8:$F$1000 dann hast du immer noch genug Platz für zukünftige Eingaben. Nur wenn du bei der Dateneingabe die Zeile 1000 überschreitest, musst du die Formel nochmal anpassen. Beachte bei der Formeleingabe, dass auch die anderen Bereiche der Formel die selben Zeilenangaben haben müssen. also $A$8:$A$1000 und $B$8:$B$1000, sonst kommt evtl. ein falsches Ergebnis heraus.

Soviel zur Nutzung der SummeWenns-Formel. Nun zu deiner Frage: Ja es ist möglich. Ich hab dir mal einen entsprechenden Code geschrieben. Der gehört in ein allgemeines Modul (z.B. Modul1). Anschließend kannst du eine beliebige Summewenns()-Formel verwenden. Sie heißt nun lediglich SummewennsText(). Probier z.B. diese Formel: =summewennstext('MTA-KTA'!$C$8:$C$1000;'MTA-KTA'!$A$8:$A$1000;"<="&WERT($G8);'MTA-KTA'!$B$8:$B$1000;">"&WERT($G8))

Function SummewennsText(Rueckgabebereich As Range, ParamArray Kriterien()) As String
 
 Dim c As Range, c2 As Range, i As Long, x As Long, s As String, delimiter As String, anzKrit As Long
 On Error GoTo Ende
 
 Application.Volatile
 
 anzKrit = UBound(Kriterien)
 
 If anzKrit Mod 2 = 0 Then delimiter = Kriterien(anzKrit) Else delimiter = ", "
 
 For Each c In Rueckgabebereich.Cells
   x = 0
   For i = 0 To anzKrit Step 2
    If TypeName(Kriterien(i)) = "Range" Then
      Set c2 = Kriterien(i).Cells(c.Row - Rueckgabebereich.Row + 1)
      If Left(Kriterien(i + 1), 2) = ">=" Then
        If c2.Value2 >= CDbl(Right(Kriterien(i + 1), Len(Kriterien(i + 1)) - 2)) Then x = x + 1
      ElseIf Left(Kriterien(i + 1), 2) = "<=" Then
        If c2.Value2 <= CDbl(Right(Kriterien(i + 1), Len(Kriterien(i + 1)) - 2)) Then x = x + 1
      ElseIf Left(Kriterien(i + 1), 2) = "<>" Then
        If c2.Value2 <> CDbl(Right(Kriterien(i + 1), Len(Kriterien(i + 1)) - 2)) Then x = x + 1
      ElseIf Left(Kriterien(i + 1), 1) = ">" Then
        If c2.Value2 > CDbl(Right(Kriterien(i + 1), Len(Kriterien(i + 1)) - 1)) Then x = x + 1
      ElseIf Left(Kriterien(i + 1), 1) = "<" Then
        If c2.Value2 < CDbl(Right(Kriterien(i + 1), Len(Kriterien(i + 1)) - 1)) Then x = x + 1
      Else
        If c2.Value = Kriterien(i + 1) Then x = x + 1
      End If
    End If
   Next i
   
   If x = Int((anzKrit + 1) / 2) Then s = s & c.Value & delimiter
 Next c
  
 SummewennsText = Left(s, Len(s) - Len(delimiter))
 
Ende:
End Function

PS: wenn du am Ende noch einen zusätzlichen Parameter als Text angiebst, kannst du das Trennzeichen ändern. Probiere z.B. =summewennstext('MTA-KTA'!$C$8:$C$1000;'MTA-KTA'!$A$8:$A$1000;"<="&WERT($G8);'MTA-KTA'!$B$8:$B$1000;">"&WERT($G8);"/")

Gruß Mr. K.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
26.07.2021 14:41:21 Fischer494
NotSolved
26.07.2021 14:57:49 Gast37711
NotSolved
Rot Funktion: Summewenns mit Texten?
26.07.2021 23:44:21 xlKing
NotSolved
27.07.2021 06:37:46 Gast65132
NotSolved
27.07.2021 17:47:04 Gast52973
NotSolved
27.07.2021 17:49:50 Gast18092
NotSolved
27.07.2021 18:14:30 xlKing
NotSolved