Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1056to1060
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formel zählenwenn

Formel zählenwenn
Markus
Hallo zusammen,
ich benötige nochmals die Hilfe von Formelexperten.
In der Spalte N ab Zeile 5 bis "unendlich" befinden sich die Buchstaben "s, S, u, U, n und N". Jetzt möchte ich, wenn ich einen Bereich aus dieser Spalte N mit der Maus auswähle, dass die Anzahl der vorhanden Buchstaben angezeigt werden.
Beispiel ist wohl einfacher (hier der ausgewählte Bereich):
s
U
n
S
U
s
Anzeige:
a 3 - A 3 - a/A 6
s 2 - S 1 - s/S 3
u 0 - U 2 - u/U 2
n 1 - N 0 - n/N 1
A ist die jeweilige Summe von s,u,n bzw. S,U,N bzw. s/S, u/U, n/n
Die Anzeige wäre in Spalten P bis S (Zeile 1 bis 4) optimal. Wird kein Bereich ausgewählt, so soll das Ergebnis der gesamten Spalte N angezeigt werden (also nicht nur ein Ausschnitt, sondern alles).
Kann mich hier jemand tatkräftig unterstützen?
Vielen Dank!
Viele Grüße
Markus

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
VBA oder Formel ?
07.03.2009 16:00:12
Renee
Hi Markus,
Das was du vorhast, geht aber nur per VBA, oder
du musst angeben von Zeile bis Zeile, dann würde es wieder mit Formeln funktionieren.
Was bevorzugst du?
GreetZ Renée
AW: VBA oder Formel ?
Markus
Hallo Renée,
danke für die schnelle Rückmeldung. Da ich den Bereich individuell eher auswähle (also mit der Maus markiere), käme wohl nur VBA in Betracht. Wird kein Bereich ausgewählt, soll die gesamte Spalte N ausgewertet werden. Hört sich irgendwie nach Private Sub Worksheet_SelectionChange(ByVal Target As Range) an, oder?
Kannst Du mir hier denn helfen?
AW: VBA oder Formel ?
07.03.2009 16:21:11
ransi
HAllo MArkus
Schau mal ob dir dieser Ansatz weiterhilft:
' **********************************************************************
' Modul: Tabelle2 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Arr As Variant
    Dim Bereich
    Dim Mydic
    Dim zelle As Range
    Set Bereich = Intersect(Target, Range("N:N"))
    If Bereich Is Nothing Then Exit Sub
    Set Mydic = CreateObject("Scripting.Dictionary")
    With Mydic
        .comparemode = 0
        .Add "a", 0
        .Add "s", 0
        .Add "u", 0
        .Add "n", 0
        .Add "A", 0
        .Add "S", 0
        .Add "U", 0
        .Add "N", 0
    End With
    For Each zelle In Bereich
        If Mydic.exists(zelle.Value) Then Mydic(zelle.Value) = Mydic(zelle.Value) + 1
    Next
    Range("P1").Resize(Mydic.Count) = WorksheetFunction.Transpose(Mydic.keys)
    Range("Q1").Resize(Mydic.Count) = WorksheetFunction.Transpose(Mydic.items)
End Sub

ransi
Anzeige
AW: VBA oder Formel ?
07.03.2009 16:29:27
ransi
HAllo
Vergiss den letzten Post.
Entsprach nicht ganz den Bedingungen.
Versuch ma diesen:
' **********************************************************************
' Modul: Tabelle2 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Arr As Variant
    Dim Bereich
    Dim Mydic1
    Dim Mydic2
    Dim zelle As Range
    Set Bereich = Intersect(Target, Range("N:N"))
    If Bereich Is Nothing Then Exit Sub
    Set Mydic1 = CreateObject("Scripting.Dictionary")
    Set Mydic2 = CreateObject("Scripting.Dictionary")
    With Mydic1
        .comparemode = 0
        .Add "a", 0
        .Add "s", 0
        .Add "u", 0
        .Add "n", 0
    End With
    With Mydic2
        .comparemode = 0
        .Add "A", 0
        .Add "S", 0
        .Add "U", 0
        .Add "N", 0
    End With
    For Each zelle In Bereich
        If Mydic1.exists(zelle.Value) Then
            Mydic1(zelle.Value) = Mydic1(zelle.Value) + 1
            Mydic1("a") = Mydic1("a") + 1
        End If
        If Mydic2.exists(zelle.Value) Then
            Mydic2(zelle.Value) = Mydic2(zelle.Value) + 1
            Mydic2("A") = Mydic2("A") + 1
        End If
    Next
    Range("P1").Resize(Mydic1.Count) = WorksheetFunction.Transpose(Mydic1.keys)
    Range("Q1").Resize(Mydic1.Count) = WorksheetFunction.Transpose(Mydic1.items)
    Range("R1").Resize(Mydic2.Count) = WorksheetFunction.Transpose(Mydic2.keys)
    Range("S1").Resize(Mydic2.Count) = WorksheetFunction.Transpose(Mydic2.items)
End Sub

ransi
Anzeige
AW: Formel zählenwenn
Markus
Hallo Sepp,
besser geht es gar nicht. Einfach genial.
Gibt es Probleme, wenn der Buchstabe durch ein Formel gebildet wird? In meiner Tabelle klappt es nämlich nicht. Könntest DU bitte ggf. mal schauen.

Die Datei https://www.herber.de/bbs/user/60085.xls wurde aus Datenschutzgründen gelöscht


Die entscheidende Tabelle ist Verein. Meine Makros musste ich alle löschen, da ich die Datei sonst nicht hätte hochladen können.
VIelen Dank nochmals!
Viele Grüße
Markus
Anzeige
Shit, das habe ich nicht gesehen
Markus
und von VBA habe ich nicht so einen großen Schimmer. Hatte gedacht, die Formeln sind da eingebaut. :-)
Danke und schönes Wochenende
Markus
AW: Formel zählenwenn
07.03.2009 17:07:50
Renee
Hallo Markus,
Probier's mal aus: https://www.herber.de/bbs/user/60089.xls
Bereich selektieren und RECHTSklick. Wenn wieder einzelne Zelle selektiert ists wieder Total.
GreetZ Renée
Anzeige
Verfüttere es den Ziegen ;-)) (owT)
07.03.2009 17:10:43
Renee

AW: Verfüttere es den Ziegen ;-)) (owT)
Markus
Hallo Renée,
Sepp hat mir schon geholfen. Lösung ist genial.
Danke aber auch für Deine Hilfe. Ziegen habe ich aber leider keine (nur zwei Katzen). :-)
Schönes Wochenende
Markus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige