Jump to content

Excel: Anzahl der Werte in einer Zelle summieren


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo!

 

Besteht die Möglichkeit, in Excel die Anzahl der Werte (Summanden) aus die sich ein Ergebnis zusammen setzt zählen zu lassen.

 

Der Benutzer hat eine (einzige Zelle) mit z.B: der Formel:

=1 + 3 + 5

 

Kann ich irgendwie die Anzahl der Summanden "zählen" um den Wert (3 in diesem Fall) in eine Zelle zu schreiben?

 

Danke!

Kiddy

Link zu diesem Kommentar

Hallo,

 

@Damian

Deinen Lösungsvorschlag habe ich nicht verstanden. Bei welcher Zellfunktion wird denn die Formel als Text zurückgegeben?

Ich kann es nur mittels VBA lösen.

 

@Power-Kiddy

Einen der folgenden Codeschnipsel in ein VBA-Modul einfügen und schon ist eine Funktion zum Zählen der Summanden einer Formel verfügbar.

 

Public Function anzahlSummanden(zelle As Range)
   Dim formel As String
   Dim zaehler As Integer
   zaehler = 0

   'wenn Formel vorhanden
   If zelle.HasFormula Then

       'Formel als Text holen
       formel = zelle.Formula

       'durch Text durchgehen und Anzahl der '+' zählen
       Dim i As Integer
       For i = 1 To Len(formel)
           If Mid(formel, i, 1) = "+" Then
               zaehler = zaehler + 1
           End If
       Next

       'da die Summanden immer einer mehr als die '+' sind
       If zaehler > 0 Then zaehler = zaehler + 1
   End If

   'Ergebnisrückgabe
   anzahlSummanden = zaehler
End Function

 

oder alternativ

Public Function anzahlSummanden2(zelle As Range)
   Dim formel As String
   Dim dummy As String
   Dim erg As Integer
   erg = 0

   'alle '+' aus Formel entfernen
   dummy = Replace(formel, "+", "")

   'Verkürzung der Formel entspricht der Anzahl der '+'
   If Len(dummy) < Len(formel) Then
       erg = Len(formel) - Len(dummy) + 1
   End If

   anzahlSummanden2 = erg
End Function

 

Grüße,

 

Sigma

Link zu diesem Kommentar

Hi.

 

@Damian

Deinen Lösungsvorschlag habe ich nicht verstanden. Bei welcher Zellfunktion wird denn die Formel als Text zurückgegeben?

Garnicht, mein Lösungsvorschlag ist nämlich Bockm****! :rolleyes: ;)

 

Hab glatt überlesen, dass Kiddy die Anzahl innerhalb einer Zelle zählen will. Wer lesen kann ist klar im Vorteil. :D

 

Damian

Link zu diesem Kommentar

Hallo,

 

freut mich, dass es geholfen hat.

Da Du den ersten Code verwendet hast, ist ein Fehler im zweiten glücklicherweise nicht zum Tragen gekommen. Dort fehlte noch die Zuweisung des Formeltextes.

 

Der Vollständigkeit halber ist hier noch der korrigierte:

 

Public Function anzahlSummanden2(zelle As Range)
   Dim formel As String
   Dim dummy As String
   Dim erg As Integer
   erg = 0

   If zelle.HasFormula Then

       'Formel als Text holen
       formel = zelle.Formula

       'alle '+' aus Formel entfernen
       dummy = Replace(formel, "+", "")

       'Verkürzung der Formel entspricht der Anzahl der '+'
       If Len(dummy) < Len(formel) Then
           erg = Len(formel) - Len(dummy) + 1
       End If
   End If

   anzahlSummanden2 = erg
End Function

 

Grüße,

 

Sigma

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...