Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
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
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Anzahl einer Zeichenfolge in Zelle finden

Anzahl einer Zeichenfolge in Zelle finden
08.12.2006 12:51:55
Mike
Hallo Ex(cel)perten,
Folgendes Problem -
Ich habe eine Zelle mit Inhalt(z.B.)"XOOXXOOOXOOXXOOOOOOXXOOOX".
Wie bekomme ich jetzt(mit Formel) die Anzahl der Kombination OXXO aus dieser Zelle(also Ergebnis = 3)?
Vielen Dank und sonnige Grüße aus Bayern
Mike

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzahl einer Zeichenfolge in Zelle finden
ransi
Hallo Mike
Vesuch es mal so:
Tabelle1

 AB
1XOOXXOOOXOOXXOOOOOOXXOOOXOXXO
2 3

Formeln der Tabelle
ZelleFormel
B2=(LÄNGE(A1)-LÄNGE(WECHSELN(A1;B1;"")))/LÄNGE(B1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
ransi
Anzeige
AW: Anzahl einer Zeichenfolge in Zelle finden
08.12.2006 13:30:17
Mike
Danke!
Aber wie funktioniert die formel bei dieser Zeichenfolge:
OXXOXXOOXOXXO
Nochmals VIELEN DANK
anderer Ansatz
ransi
Hallo Mike
Zitat:
Aber wie funktioniert die formel bei dieser Zeichenfolge:
OXXOXXOOXOXXO

Da greifen wir dann gaaanz tief in die Trickkiste,
Teste mal:
Tabelle1

 AB
1OXXOXXOOXOXXOOXXO
2 3
3  

Formeln der Tabelle
ZelleFormel
B2=SUMMENPRODUKT((TEIL(A1;ZEILE(INDIREKT("A1:A"&LÄNGE(A1)-LÄNGE(B1)+1));LÄNGE(B1))=B1)*1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
ransi
ransi
Anzeige
AW: anderer Ansatz
08.12.2006 14:09:38
Mike
Ahhhhhhh . . . . .
Wunderbar! Kannst Du mir die Funktion mit 2 Sätzen erklären?
Dann kann ich sie mir beim nächsten Versuch selbst "basteln"!
VIELEN VIELEN DANK
Gruß
Mike
AW: anderer Ansatz
ransi
Hallo MIke
Erklären kann ich sowas ganz schlecht.
Bin nämlich nicht so der Erklärbär.
Hilft dir dies hier zum Verständniss der Formel weiter ?
Tabelle1

 AB
1OXXOXXOXXO XX
2 3
3  
4 =SUMMENPRODUKT((TEIL(A1;ZEILE(INDIREKT("A1:A"&LÄNGE(A1)-LÄNGE(B1)+1));2)=B1)*1)
5 =SUMMENPRODUKT((TEIL(A1;{1;2;3;4;5;6;7;8;9;10};2)=B1)*1)
6 =SUMMENPRODUKT(({"OX";"XX";"XO";"OX";"XX";"XO";"OX";"XX";"XO";"O "}=B1)*1)
7 =SUMMENPRODUKT({FALSCH;WAHR;FALSCH;FALSCH;WAHR;FALSCH;FALSCH;WAHR;FALSCH;FALSCH}*1)
8 =SUMMENPRODUKT({0;1;0;0;1;0;0;1;0;0})
9  

Formeln der Tabelle
ZelleFormel
B2=SUMMENPRODUKT((TEIL(A1;ZEILE(INDIREKT("A1:A"&LÄNGE(A1)-LÄNGE(B1)+1));LÄNGE(B1))=B1)*1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
ransi
Anzeige
AW: anderer Ansatz
08.12.2006 14:30:40
Mike
;o)
okay!
Nochmal VIELEN DANK und schönes Wochenende
Gruß
Mike
Erklärung
08.12.2006 15:27:37
Yal
Ich glaub' ich hab's (ich bin weiterhin beeindruckt!):
Ziel ist es (wie in meiner Prog., aber in VBA ist es eh einfach) die gesamte String in einzel String zu teilen, um Sie gegen die Referenz zu vergleichen.
Da es in Formeln keine For-Schleife gibt, wird dieser Effekt durch die Erzeugung einer Pseudo-Bereich (= Matrix) erzeugt:
INDIREKT("A1:A"&LÄNGE(A1)-LÄNGE(B1)+1)
Aus diese Matrix entnehmen wir die ZeilenNr, um die einzel Strings zu erzeugen
TEIL(A1;ZEILE( ... );Länge(B1))
jener gegen die Referenz vergliechen werden
=B1
und aus diese Ergebnis-Matrix wird eine Summe gebildet. Dabei ist das Produkt mit *1 notwendig, um keine boolsche (Wahr + Wahr = Wahr) sondern decimal Summierung (1 + 1 = 2) zu forcieren.
Ich glaube nicht, dass Microsoft in seine Werbung ("Where do you want to go today?") gedacht hat, an solche Reise zur Stellen der Excel-Galaxie, die nie ein Mensch zuvor gesehen hat!
Yal (Beam me up, ransi!)
Anzeige
OXXOXXO als 1 oder 2 Treffer?
08.12.2006 13:31:05
Yal
es ist dabei zu prüfen, ob eine Basis-Zeichenkette wie
OXXOXXOXXO
als 1 Treffer oder 3 aus OXXO zu bewerten ist. Unsere Lösungen bringen jeweils verschiedene Ergebnis.
@ransi: respect! ich wäre nicht darauf gekommen!
Yal
AW: OXXOXXO als 1 oder 2 Treffer?
08.12.2006 13:37:06
Mike
Genau das war meine nächste Frage.
Ich möchte also die XX ausgezählt haben!
Vielen Dank und sonnige Grüße aus Bayern!!
Mike
AW: OXXOXXO als 1 oder 2 Treffer?
08.12.2006 14:13:18
Yal
Da ich gesagt habe, dass es vermutlich nur mit eigener "Function" gehen soll, muss ich jetzt mich im Zeug legen! Besonders nachdem ransi sich so demonstrativ war (Hut ab!).
Diese muss in einem Modul angelegt werden, um wie eine Formel verwendet werden zu können
Public Function AnzahlTreffer(Text, Treffer) As Long Dim i%, L%, T1$, T2$ T1 = LCase(Text) T2 = LCase(Treffer) L = Len(Treffer) For i = 1 To Len(T1) - L + 1 If Mid(T1, i, L) = T2 Then AnzahlTreffer = AnzahlTreffer + 1 Next i End Function
Viel Spass
Yal
Anzeige
AW: OXXOXXO als 1 oder 2 Treffer?
08.12.2006 14:32:21
Mike
Auch Dir VIELEN DANK FÜR DIE HILFE!
Schönes Wochenende und Gruß aus Bayern
Mike
AW: Anzahl einer Zeichenfolge in Zelle finden
08.12.2006 13:17:46
Yal
Hi,
ich habe eine lustige Lösung mit Verwendung von "WECHSELN", da diese das "n-tes" Auftreten eines Matching verwendet.
Die erste Lösung passt nicht in nur einer Zelle:
=NICHT(ISTFEHLER(FINDEN("!";WECHSELN($A$2;B$4;"!";$A6))))*$A6
Die zweite habe ich auf 3, bzw. mehr als 3 begrenzt. 'Ist schon in diese bescheidene Umfang irrsinnig:
=WENN(ISTFEHLER(FINDEN("!";WECHSELN($A$2;B$4;"!";1)));0;WENN(ISTFEHLER(FINDEN("!";WECHSELN($A$2;B$4;"!";2)));1;WENN(ISTFEHLER(FINDEN("!";WECHSELN($A$2;B$4;"!";3)));2;WENN(ISTFEHLER(FINDEN("!";WECHSELN($A$2;B$4;"!";1)));3;"mehr als 3"))))
Um das zu kürzen ist wahrscheinlich die Programmierung eine eigene Funktion notwendig.
Schwer zu verstehen? Siehe:
https://www.herber.de/bbs/user/38829.xls
Viel Erfolg
Yal
Anzeige

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige