Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Vorkommen eines Zeichens in Zelle zählen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Vorkommen eines Zeichens in Zelle zählen (5078 mal gelesen)
carsten-3m
Mitglied
Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)


Sehen Sie sich das Profil von carsten-3m an!   Senden Sie eine Private Message an carsten-3m  Schreiben Sie einen Gästebucheintrag für carsten-3m

Beiträge: 950
Registriert: 08.05.2007

Excel 2010

erstellt am: 05. Okt. 2009 10:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Gleich vorweg, ich hab das Problem gelöst, aber... ich mag meinen holprigen Ansatz gar nicht. Frage also: Geht das besser?

Aufgabe:
Finde in einer benannten Zelle sämtliche Vorkommen eines bestimmten Zeichens. Konkrete Anwendung: Kollege hat eine Aufgabenliste erstellt, in der zu jeder Aufgabe in einer Zelle Namen aufgelistet sind, fein säuberlich durch Komma getrennt. Er zählte die Kollegen immer von Hand, ich wollte das Excel überlassen.

Lösungsansatz:
Kommas zählen und 1 addieren = Anzahl Namen in der Zelle. Hört sich leicht an. Bis ich dann angefangen habe, dies Excel beizubiegen. Mit Formeln schien mir (vielleicht irre ich hier) das Problem nicht in den Griff zu bekommen, also VBA. Kleine Schleife die Kommas zählt - simpel. Das Ganze als Funktion mit Parameterübergabe. Nur diese Adressübergabe, die wollte mir nicht recht glücken. Nun schauts so aus:

Funktionsaufruf für Zelle D8:

Code:
=wieviele(ZELLE("Adresse";D8))

Funktion (nicht lachen):

Code:
Function wieviele(zelle As String) As Integer
    Dim n As Integer, zaehler As Integer
    Dim liste As String
    liste = Range(zelle)
    zaehler = 0
    For n = 1 To Len(liste)
        If Mid(liste, n, 1) = "," Then
            zaehler = zaehler + 1
        End If
    Next
    wieviele = zaehler + 1
End Function

Die Funktion kann man sicher eleganter programmieren, ohne Frage. Mir geht es aber eher um den Funktionsaufruf. Der sieht unglücklich aus mit der Excelformel als Stütze der Parameterübergabe. Ginge das irgendwie "schöner" (besser)?

PS: Sorry für den Roman  

edit: Schreibteufelfehler

------------------
Seit Pro/E Version 1 dabei, auwei...

[Diese Nachricht wurde von carsten-3m am 05. Okt. 2009 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADdog
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von CADdog an!   Senden Sie eine Private Message an CADdog  Schreiben Sie einen Gästebucheintrag für CADdog

Beiträge: 2237
Registriert: 30.04.2004

erstellt am: 05. Okt. 2009 11:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für carsten-3m 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von carsten-3m:
...Mit Formeln schien mir (vielleicht irre ich hier) das Problem nicht in den Griff zu bekommen...

[

Code:
=LÄNGE(A1)-LÄNGE(WECHSELN(A1;",";))

.

------------------

Gruß Thomas
CADdog, the dog formerly known as TR

AutoCAD spricht mit einem, aber viele hören nicht zu.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

carsten-3m
Mitglied
Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)


Sehen Sie sich das Profil von carsten-3m an!   Senden Sie eine Private Message an carsten-3m  Schreiben Sie einen Gästebucheintrag für carsten-3m

Beiträge: 950
Registriert: 08.05.2007

Excel 2010

erstellt am: 05. Okt. 2009 11:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Oh, sehr fein. Ich verstehe den Ansatz, danke schön 

------------------
Seit Pro/E Version 1 dabei, auwei...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 05. Okt. 2009 12:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für carsten-3m 10 Unities + Antwort hilfreich

es sollte auch
Code:
=XXXXX("X";XX)+X
gehen

¤ditiert wegen Falsch  

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

carsten-3m
Mitglied
Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)


Sehen Sie sich das Profil von carsten-3m an!   Senden Sie eine Private Message an carsten-3m  Schreiben Sie einen Gästebucheintrag für carsten-3m

Beiträge: 950
Registriert: 08.05.2007

Excel 2010

erstellt am: 05. Okt. 2009 15:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Finden funktioniert nicht, da die Stelle des ersten Vorkommens des Suchtextes (hier Komma) gefunden wird, nicht jedoch dessen Anzahl.

------------------
Seit Pro/E Version 1 dabei, auwei...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 05. Okt. 2009 17:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für carsten-3m 10 Unities + Antwort hilfreich

hmm, ja, Finden geht nicht  man sollte nichts ungetestet rauslassen...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 06. Okt. 2009 18:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für carsten-3m 10 Unities + Antwort hilfreich

Hi Carsten,

Möglichkeit für eine Lösung mittels benutzerdefinierter Funktion:

Code:
Function inWert(ZellInhalt) As Integer
    inWert = UBound(Split(ZellInhalt, ", ")) + 1
End Function

und als Formel für die Auswertung der Zelle A2 in der Ergebniszelle: =inWert(A2)

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

carsten-3m
Mitglied
Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)


Sehen Sie sich das Profil von carsten-3m an!   Senden Sie eine Private Message an carsten-3m  Schreiben Sie einen Gästebucheintrag für carsten-3m

Beiträge: 950
Registriert: 08.05.2007

Excel 2010

erstellt am: 07. Okt. 2009 11:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Okay, ich sehe ein, dass meine Ausprobierzeit in VBA doch bald zuende gehen muss. Was ihr alles für tolle Sachen kennt. Danke auch Dir Karin. Muss mir mal ein Buch kaufen...

------------------
Seit Pro/E Version 1 dabei, auwei...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 07. Okt. 2009 11:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für carsten-3m 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von carsten-3m:
Muss mir mal ein Buch kaufen...

Schau dir die Beispiele im Forum an und baue sie nach - das ist das beste "Buch" was du dir kaufen kannst und ist dazu auch noch kostenlos 

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz