Zum Inhalt springen
  • Das GSF wandelt Links in Affiliate Links um, um ggf. eine Provision erhalten zu können. Gerne nutzen bitte, danke! Mehr Infos, wie ihr das GSF unterstützen könnt, findet ihr im GSF Support Topic.

Empfohlene Beiträge

Geschrieben

Folgendes Problem:

Gibt es in Excel eine Formel, mit der man Werte zählen kann, die man vorher noch nicht kennt. Z.B. Jedes Mal, wenn der Name Müller auftaucht, soll Excel das zählen. Natürlich kann ich jetzt noch nicht sagen, welcher Name in der Liste stehen wird. Es könnte theoretisch auch sein, dass Müller nie genannt wird und dafür Meier usw. :-D

:-D

Geschrieben
mit VBA programmieren.

bis wann brauchst denn das?

VBA , ist doch Visual Basic, oder? :-D

Das ganze ist für ne gute Freundin, daher weiß ich nicht genau bis wann das benötigt wird. Ist das denn nen großer Akt? Ich werde mal fragen ob es sehr wichtig ist oder es sich nur um ne Spielerei handelt.

Geschrieben
es gibt doch diese zählenwenn funktion...

meinst du vielleicht sowas?

=zählenwenn(datenbereich;kriterien)

:-D

Ja, die gibt es und ist die Notlösung. Die Funktion geht ja nur, wenn ich alle Namen kenne, die nachher in der Liste stehen.

Ich bzw. die Freundin suche aber ja was, der mir automatisch alle unterschiedlich vorkommenden Namen raussucht und mir sagt wie oft der Name vorkommt. Wobei, wenn ich das so überlege: Geht sowas überhaupt? :heul:

Geschrieben

Ich bin zwar nicht so der Office Profi, aber mit Excel sollte das mit der Pivot-Funktionalität gehen.

Ich hab das einfach mal getestet und ein paar Namen in eine Spalte geschrieben. Als nächstes die Einträge

markiert und im Menue "Daten"->"Pivot-Table und PivotChart Bericht..." aufgerufen. Als nächstes immer "Weiter"

gedrückt kurz vor Schluss noch angegeben dass die Pivot Tabelle in die aktuelle Mappe soll. "Fertig stellen".

In die erzeugte Pivottabelle zieht man nun das Feld aus der PivotTable-Feldliste das Feld "Zeilenfelder hierher ziehen"

und auch in "Datenfelder hierher ziehen".

Linke Spalte ist dann der jeweilige Name und rechte Spalte die Anzahl wie oft er vorkommt.

Mit der Pivot-Funktion kann man noch ne ganze Menge mehr machen, spiel einfach mal mit rum.

Das Beispiel hab ich an den Beitrag hier angehängt.

Grüße Mostro.

Mostro_PivotExample.zip

Geschrieben (bearbeitet)
VBA , ist doch Visual Basic, oder? :-D

ja.

hab hier mal ein kleines programm geschrieben.

mit ALT+F11 kommst du in den vba modus und kannst das programm anschauen

du müsstest lediglich die gesamtzahl der namen in die Zelle D1 eingeben, in diesem fall waren das 20.

mit der tastenkombination STRG+M spuckt er die anzahl der "Müller" aus :-D

funktioniert in dieser variante allerdings nur wenn die namen in der ersten spalte (A) stehen

hier das excel file

http://www.bellavespa.de/gsf/mueller.xls

und der zugehörige vba code falls es jemanden interessiert:

Option Explicit

Dim wert As String

Dim anzahl As Single

Dim i As Integer

Sub Mueller()

anzahl = 0

For i = 1 To Cells(1, 4)

wert = Cells(i, 1)

If wert = "Müller" Then anzahl = anzahl + 1

Next i

Cells(8, 5) = anzahl

End Sub

Bearbeitet von jochen0407
Geschrieben

Da es ja wie gesagt nicht für mich ist, noch für gar keine :-D

Habe es der Dame aber gemailt und sie schaut es sich an. So wie ich das Problem verstanden habe, erfüllt aber die Pivot Variante die geforderte Lösung am schnellsten & für den Laien am einfachsten.

Zusammenfassung also:

Lösung Mostro hat bei mir im Selbstversuch sofort geklappt.

Lösung "Müller" sucht ja nur nach Müller, und nicht nach dem Rest. Das ist aber auch gefordert.

Lösung "lummy" bekomme ich irgendwie nicht hin. Wo soll ich da was eingeben?

Wenn ich am Mo./Di. was höre lasse ich es euch wissen. Vielleicht stelle ich auch mal ein Foto von der Dame rein, damit sich eure Mühen auch gelohnt haben :wasntme: :-D

Vielen Dank auf jeden Fall schon mal, auch im Namen von Fräulein "Anja" :-D

Geschrieben
Vielleicht stelle ich auch mal ein Foto von der Dame rein, damit sich eure Mühen auch gelohnt haben :wasntme: :-D

au ja, wenn es sich lohnt würd ich mich auch noch mal hinsetzen und das ganze nach ihren wünschen umschreiben :love:

Geschrieben
au ja, wenn es sich lohnt würd ich mich auch noch mal hinsetzen und das ganze nach ihren wünschen umschreiben :love:

Lohnt sich auf jeden Fall :love: , ist allerdings an einen anderen guten Freund vergeben. :-D( :-D:-D

Geschrieben

hmmm, das mit dem freund ist natürlich schlecht für uns.

sonst wär ich die "pivotierung" mit ihr nochmal persönlich bei nem kaffee durchgegangen.

grüße mostro

Geschrieben
haha, wenn der so "gute" freunde wie dich hat, dann braucht er keine feinde.

Da hast du was falsch verstanden :-D:-D

Und 300km fährt man(n) ja auch nicht mal eben so ab. :-D

So, nun aber genug mit dem Offtopic. Wenn es was neues gibt, werde ich mich hier wieder zu Wort melden.

Geschrieben (bearbeitet)

Hallo Aendy!

Falls deine Freundin diese Funktion noch benötigen sollte, hab ich schnell mal sowas in VBA zusammengezimmert.

Wirklich nur ganz einfach aufgebaut erstmal...ohne große Gültigkeitsprüfungen, aber die geforderten Funktionen sind vorhanden.

Das Makro wirft alle verschiedenen vorkommenden Namen mitsamt der Anzahl aus.

Hier die Voraussetzungen:

- Alle Namen müssen in der Spalte A stehen

- Die Spalte A darf keine Überschrift haben

Die Ausgabe erfolgt in den Spalten B, C und D.

Hier findest du die Excel-Datei.

Hier ist der Code, falls es jemanden interessiert:

Option Explicit

Sub Namen_zaehlen()

Dim AnzZeilen As Long
Dim Arr_Namen()
Dim Vorkommen As Long
Dim r, x, y As Long
Dim GleicheWerte As Boolean

'Anzahl der ausgefüllten Zellen zählen
AnzZeilen = ActiveSheet.UsedRange.Rows.Count

'Prüfen, ob Werte vorhanden sind
If AnzZeilen = 1 And Len(Range("A1").Value) < 1 Then
MsgBox ("Im ausgewählten Bereich sind keine Daten vorhanden!")
Exit Sub
Else
End If

'Verschiedene Namen ermitteln
r = 0
For x = 1 To AnzZeilen
GleicheWerte = False
If x = 1 Then
ReDim Preserve Arr_Namen(r)
Arr_Namen(r) = Range("A" & x).Value
r = r + 1
Else
For y = 0 To r - 1
If Range("A" & x).Value <> Arr_Namen(y) Then
GleicheWerte = False
Else
GleicheWerte = True
End If
If GleicheWerte = True Then Exit For
Next y
If GleicheWerte = False Then
ReDim Preserve Arr_Namen(r)
Arr_Namen(r) = Range("A" & x).Value
r = r + 1
End If
End If
Next x

Range("B1").Value = "Anzahl verschiedener Namen: " & r

'Anzahl des Vorkommens einzelner Namen ermitteln
For x = 1 To r
Vorkommen = 0
For y = 1 To AnzZeilen
If Range("A" & y).Value = Arr_Namen(x - 1) Then
Vorkommen = Vorkommen + 1
Else
End If
Next y
Range("C" & x).Value = Arr_Namen(x - 1)
Range("D" & x).Value = Vorkommen
Next x

Cells.Select
Cells.EntireColumn.AutoFit
Range("A1").Select

End Sub

Damit das Makro komfortabel aufgerufen werden kann, kannst du in eine der Menüleisten eine neue Schaltfläche einfügen, die das Makro startet.

Dazu wählst du den Menüpunkt "Extras/Anpassen" aus und wechselst zum Tab "Befehle".

Links findest du ziemlich weit unten den Eintrag "Makros" - einmal anklicken.

Jetzt siehst du rechts einen Smiley...den ziehst du mit der Maus einfach in eine bestehende Menüleiste.

Das "Anpassen"-Fenster kannst du jetzt schließen.

Einmal auf den Smiley klicken und das Makro "Namen_zaehlen" auswählen und du bist fertig.

Wenn du in Zukunft diese Datei öffnest und den Smiley klickst, läuft das Makro ab.

Ich hoffe, ich hab das Ganze verständlich erklärt... :-D

Erweiterungen und Anpassung an besondere Bedürfnisse sind natürlich kein Problem :-D

Das vorliegende Makro soll nur ein Beispiel sein, wie es funktionieren kann.

/alex

Bearbeitet von LX99
Geschrieben

Danke, habe es ausprobiert, und auch die letzte Lösung funktioniert. Bevor ihr euch jetzt aber weitere Mühen macht, wartet mal den Mo./Di. ab. Dann schaut sie sich das alles an und wird mir Rückmeldung geben.

Sie lässt auf jeden Fall schon mal vielen Dank ausrichten.

PS: EINE Freundin, nicht meine Freundin :-D

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.


  • Beiträge

    • Weiß jemand wo ich die beiden Klammern zur Befestigung der Lampenfassung mit dem Scheinwerfer bei einer Sprint, also dem trapezförmigen Scheinwerfer herbekomme? Hatte mir die Lampenfassung für SIEM Scheinwerfer bestellt, aber da waren die Klammern leider nicht dabei.   SIP sagt nun, dass die Klammern nur beim Scheinwerfer selbst mitkommen. Keine Lust aber 80€ auszugeben, nur weil ich die Klammern brauche.   Danke für Tips!
    • Wie kuchenfreund schrieb.   Ergänzen möchte ich noch, dass sich der Wert einer Sache immer an a). Angebot und Nachfrage und b). an dem ideellen Wert festmacht, dem ein jeder einer bestimmten Sache beimisst.   Warum bezahlt jemand Geld für ein Autogramm eines Promis oder bezahlt viel Geld für einen VW Golf, nur weil diesen mal der Papst gefahren hat? Warum bezahlen manche Frauen für einen Fick mit George Clooney/Justin Bieber/Matt Damon/etc. mehr Geld, als für einen Fick mit mir? Wieso kauft jemand für 500.000 Euro einen Porsche (obwohl dieser ab Werk nur 150.000 Euro kostet), weil Steve McQueen einmal darin gesessen ist?   Das alles deshalb, weil sie einer Sache einen bestimmten individuellen Wert beimessen, der sie veranlasst, mehr Geld auf den Tisch zu legen.   Wem einer abgeht, wenn auf einer Uhr Armani oder BMW oder BOSS steht, der zahlt auch ordentlich dafür.  
    • Tip: wenn ihr seht, dass von demselben Account mehrere Spambeiträge kommen, reicht eine Meldung. Es muss nicht jeder Beitrag gemeldet werden. Wir knipsen dem eh virtuell das Licht aus und blenden direkt alles in einem Rutsch aus.
    • Rechts Autobahn von Kraftwerk. Alle Bands kommen aus Düsseldorf!
×
×
  • Neu erstellen...

Wichtige Information

Diese Website nutzt Cookies und vergleichbare Funktionen zur Verarbeitung von Endgeräteinformationen und personenbezogenen Daten. Die Verarbeitung dient der Einbindung von Inhalten, externen Diensten und Elementen Dritter. Je nach Funktion werden dabei Daten an Dritte weitergegeben. Einige dieser Verfahren sind technisch unerlässlich, andere kommen nur mit Ihrer Zustimmung zum Einsatz, eine Anpassung ist in den die Cookie-Einstellungen möglich. Für Details siehe die Datenschutzerklärung