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.

Excel Formel?

Featured Replies

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
  • Autor
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

Geschrieben
  • Autor
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

könnt man da nicht ganz einfach und ganz stümperhaft die filterfunktionen von excel mißbrauchen... sollte klappen...

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
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

öffne die excel-tabelle in access und mach eine sql-abfrage:

select nachname , count(*) from tabelle order by nachname group by nachname;

Geschrieben
  • Autor

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
  • Autor
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.

Geschrieben
  • Autor
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

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) 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
  • Autor

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

Geschrieben
PS: EINE Freundin, nicht meine Freundin :-D

DAS hab ich aufgrund der vorhergehen Posts auch angenommen :-D

Geschrieben
  • Autor
ahso, also eine rein sexuelle beziehung

Nich mal das... :-D( Ich hoffe nur, Sie liest das hier nie :wasntme: :-D

Geschrieben
Nich mal das... :-D( Ich hoffe nur, Sie liest das hier nie :wasntme: :-D

ach komm, wollen doch nur spielen!

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Wer ist Online 0

  • Keine registrierten Benutzer online.

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

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.