Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1300to1304
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

Algorithmus Reihen-Anzahl Unterschiede feststellen

Algorithmus Reihen-Anzahl Unterschiede feststellen
14.03.2013 00:19:22
Joerschi
Hallo liebes Forum,
ich suche nach einem sinnvollen Algorithmus, um Wertereihen voneinander zu unterscheiden (die Anzahl der Unterschiede).
Und zwar hat man ausgangs viele Wertereihen mit je 13 Zeichen Länge, aber in sich nur bestehend aus drei verschiedenen Werten (a, b, x).
Diese sollen nun ausgewertet werden, in wievielen Zeichen sich jede Reihe von jeder anderen an exakt der gleiche Position unterscheidet.
Als Beispiel:
Reihe 1: Z. B. abbbaaxxab
Reihe 2: Z. B. bbbbxaxxbx
(Unterschiede 4 - fett gekennzeichnet)
Als Skizze sieht das so aus:
Userbild
hier eine Quelldatei mit einkopierten Beispielreihen: https://www.herber.de/bbs/user/84341.xls
Hat jemand eine Idee, welche Formel man dafür verwenden könnte?
Herzliche Grüße
Joerschi

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Algorithmus Reihen-Anzahl Unterschiede feststellen
14.03.2013 01:13:59
Daniel
HI
1. schreibe In Spalte A statt "Reihe 1" nur die 1, ebenso in Zeile 2 statt "R1" nur die 1 (für die folgenden Zellen dann natürlich entsprechend 2-x)
2. definiere für die Vorgabe Reihen einen Namen, bspw "xxx" für den Zellbereich B3:N12
3. Schreibe in O3 folgende Formel und kopiere sie bis X12: =WENN($A3=O$2;"///";SUMMENPRODUKT((INDEX(xxx;$A3;)INDEX(xxx;O$2;))*1)) gruß Daniel

Summenprodukt
14.03.2013 01:16:27
Matthias
Hallo
keine Ahnung ob ich richtig liege, probiers mal
hier ein Ausschnitt ...
Tabelle1

 ABCDEFGHIJKLMNO
2              R1
3Reihe 1xbaaabxaaaaaa///
4Reihe 2bbaaabxaaaaaa1
5Reihe 3xbxaabxaaaaaa1
6Reihe 4bbxaabxaaaaaa2
7Reihe 5abababxaaaaaa2
8Reihe 6xbababxaaaaaa1
9Reihe 7bbababxaaaaaa2
10Reihe 8abxbabxaaaaaa3
11Reihe 9xbxbabxaaaaaa2
12Reihe 10bbxbabxaaaaaa3
13Reihe 11abaaxbxaaaaaa2
14Reihe 12xbaaxbxaaaaaa1
15Reihe 13bbaaxbxaaaaaa2
16Reihe 14abxaxbxaaaaaa3
17Reihe 15xbxaxbxaaaaaa2
18Reihe 16bbxaxbxaaaaaa3
19Reihe 17ababxbxaaaaaa3

Formeln der Tabelle
ZelleFormel
O4{=SUMMENPRODUKT(($B$3:$N$3<>B4:N4)*1)}
O5{=SUMMENPRODUKT(($B$3:$N$3<>B5:N5)*1)}
O6{=SUMMENPRODUKT(($B$3:$N$3<>B6:N6)*1)}
O7{=SUMMENPRODUKT(($B$3:$N$3<>B7:N7)*1)}
O8{=SUMMENPRODUKT(($B$3:$N$3<>B8:N8)*1)}
O9{=SUMMENPRODUKT(($B$3:$N$3<>B9:N9)*1)}
O10{=SUMMENPRODUKT(($B$3:$N$3<>B10:N10)*1)}
O11{=SUMMENPRODUKT(($B$3:$N$3<>B11:N11)*1)}
O12{=SUMMENPRODUKT(($B$3:$N$3<>B12:N12)*1)}
O13{=SUMMENPRODUKT(($B$3:$N$3<>B13:N13)*1)}
O14{=SUMMENPRODUKT(($B$3:$N$3<>B14:N14)*1)}
O15{=SUMMENPRODUKT(($B$3:$N$3<>B15:N15)*1)}
O16{=SUMMENPRODUKT(($B$3:$N$3<>B16:N16)*1)}
O17{=SUMMENPRODUKT(($B$3:$N$3<>B17:N17)*1)}
O18{=SUMMENPRODUKT(($B$3:$N$3<>B18:N18)*1)}
O19{=SUMMENPRODUKT(($B$3:$N$3<>B19:N19)*1)}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias

Anzeige
Anzahl Unterschiede pro Zeile
14.03.2013 01:27:33
Erich
Hi Joerschi,
so könnte das gehen:
 ABCDEFGHIJKLMNOPQ
2              R1R2R3
3Reihe 1xbaaabxaaaaaa///11
4Reihe 2bbaaabxaaaaaa1///2

Formeln der Tabelle
ZelleFormel
P3{=SUMME(--($B3:$N3<>INDEX($B$3:$N$20;SPALTE(B$1); )))}
Q3{=SUMME(--($B3:$N3<>INDEX($B$3:$N$20;SPALTE(C$1); )))}
O4{=SUMME(--($B4:$N4<>INDEX($B$3:$N$20;SPALTE(A$1); )))}
Q4{=SUMME(--($B4:$N4<>INDEX($B$3:$N$20;SPALTE(C$1); )))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
noch eine Formel
14.03.2013 01:39:18
Erich
Hi Joerschi,
oder so:
 ABCDEFGHIJKLMNOPQ
2              R1R2R3
3Reihe 1xbaaabxaaaaa1///22
4Reihe 2bbaaabxaaaaaa2///2

Formeln der Tabelle
ZelleFormel
O3=WENN(SPALTE(A$1)=ZEILE($A1); "///";SUMMENPRODUKT(--($B3:$N3<>INDEX($B$3:$N$378;SPALTE(A$1); ))))
P3=WENN(SPALTE(B$1)=ZEILE($A1); "///";SUMMENPRODUKT(--($B3:$N3<>INDEX($B$3:$N$378;SPALTE(B$1); ))))
Q3=WENN(SPALTE(C$1)=ZEILE($A1); "///";SUMMENPRODUKT(--($B3:$N3<>INDEX($B$3:$N$378;SPALTE(C$1); ))))
O4=WENN(SPALTE(A$1)=ZEILE($A2); "///";SUMMENPRODUKT(--($B4:$N4<>INDEX($B$3:$N$378;SPALTE(A$1); ))))
P4=WENN(SPALTE(B$1)=ZEILE($A2); "///";SUMMENPRODUKT(--($B4:$N4<>INDEX($B$3:$N$378;SPALTE(B$1); ))))
Q4=WENN(SPALTE(C$1)=ZEILE($A2); "///";SUMMENPRODUKT(--($B4:$N4<>INDEX($B$3:$N$378;SPALTE(C$1); ))))

Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
P.S. speziell auch an Luc:-?: Guats Nächtli!

Anzeige
Danke, Erich, gleichfalls! Ich bin noch ...
14.03.2013 01:42:47
Luc:-?
…'nen Moment zugange (nachdem du nun die gleiche BasisFml wie ich gepostet hast)! ;-)
Ahoi! Luc :-?

So viele Antworten!! WOW, Aber...
14.03.2013 09:12:42
Joerschi
Kaum ist man mal ein paar Stündchen im Bett... Vielen Dank an all die Vorschläge.
Da meine Spalten ebenfalls jedoch viele Hundert betragen (so viele wie Anzahl Reihen halt), suche ich grad noch nach einer Möglichkeit, die richtige $-Fixierung in den Formeln vorzunehmen, um die Zellen sowohl vertikal als auch horizontal frei zu ziehen. Komme da auf keinen grünen Zweig... :-(
(siehe Beispieldatei).
Oder übersehe ich da etwas?
Herzliche Grüße
Joerschi

Anzeige
AW: So viele Antworten!! WOW, Aber...
14.03.2013 09:28:33
Daniel
ja, meinen Beitrag!
da ist das Problem gelöst.
Gruß Daniel

AW: So viele Antworten!! WOW, Aber...
14.03.2013 09:39:35
Joerschi
das Vorgehen hatte ich leider nicht 100% verstanden.
In A1+A2+A3 soll eine 1 rein, danach ab A4 2,3,4 nach unten fortfolgend, richtig?
Wie genau definiere ich xxx? Mein Bereich aus der Besipieldatei gänge z. B. von B3:N378 (da 376 Reihen)...
Gruß, Joerschi

Verstanden.- Vielen Dank!
14.03.2013 09:47:08
Joerschi
auch an Matthias :-)
Tomaten auf Äuglein gehabt...

AW: So viele Antworten!! WOW, Aber...
14.03.2013 09:52:15
Daniel
HI
nein einfach in die Zellen wo Reihe 1 oder R1 drinsteht, nur die Zahl reinschreiben, ohne das R bzw Reihe davor (statt Reihe 2 oder R2 dann eben nur 2 usw.
dann kann die Formel mit diesen Werten arbeiten und gezielt diese Werte aus deiner Auflistung verwenden.
das xxx Definierst du, in dem du B3:N378 markierst und in das Namensfeld (links neben der Bearbeitungszeile) ein xxx eintippst und mit Enter abschließt (oder über den Namensmanager)
in A3 muss dann 1 stehen, in A4 2, in A5 3 usw
in O2 muss dann 1 stehen, in P2 2, in Q2 3 usw
Gruß Daniel
Gruß Daniel

Anzeige
Du brauchst doch die Formel nur anpassen
14.03.2013 09:36:53
Matthias
Hallo
Du brauchst doch vorher nur den kompletten Bereich markieren in O3 beginnend bis Ende Bereich.
Formel nur 1x eingeben und mit StrG+Enter abschließen
Die Zelladressen passen sich automatisch an.
Hier mal eine verkürzte Darstellung (hier als Bsp. mit der Frml. von Luc)
Du musst eben nur vorher nur in der Bearbeitungsleiste die relevanten Zelladressen ändern
Ich habs im Bild mal markiert.
Userbild
Gruß Matthias

einfacher...
14.03.2013 10:32:30
Erich
Hi Joerschi,
warum schreibst du nicht einfach in O3 die folgende Formel?
Die kannst du nach Belieben nach unten und rechts ziehen oder kopieren:
 O
2R1
3///

Formeln der Tabelle
ZelleFormel
O3=WENN(SPALTE(A$1)=ZEILE($A1); "///";SUMMENPRODUKT(--($B3:$N3<>INDEX($B$3:$N$378;SPALTE(A$1); ))))

Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
Ja, dass Erichs letzte und meine Fml ...
14.03.2013 11:44:42
Luc:-?
…bereits komplett fertig auf deine Tabelle angepasst sind, Joerschi,
denn mit der habe ich gearbeitet, sonst hätte ich wohl nicht deine Fehler entdeckt.
Außerdem ist es ein Fehler deinerseits, sich nicht erst alle AWn anzusehen, sondern bei der erstbesten draufloszuschreiben. Das ist wenig befriedigend für diejenigen, die sich mehr Mühe gemacht haben.
Da wdn es das nächste Mal wohl nicht mehr so viele AWn wdn…
Ich werde dich oben jetzt mal Hajo überlassen (selber schuld, habe Interessanteres zu tun!), der kann noch jede Menge MVP-+Pktt gebrauchen; mal sehen, was bei rauskommt… ;->
Gruß Luc :-?

Anzeige
Das ist ganz einfach, falls du lieber ...
14.03.2013 01:35:16
Luc:-?
…eine einzige einzellige Matrixformel ziehen willst, Joerschi,
und ggf 0 statt /// akzeptierst (was man aber auch noch einbauen könnte). Das ist offensichtlich leichter als es manuell zu machen, denn du hast dich offensichtlich 5× vertan. ;-)
Die Fml lautet für O3…
{=SUMME(--($B3:$N3INDEX($B$3:$N$378;SPALTE(A:A);0)))}
…oder mit normalem Eingabeabschluss…
=SUMMENPRODUKT(--($B3:$N3INDEX($B$3:$N$378;SPALTE(A:A);0)))
Viel Spaß! Luc :-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige