1.5k Aufrufe
Gefragt in Tabellenkalkulation von kalli007 Einsteiger_in (11 Punkte)
Hallo Zusammen,

Ich habe folgende Matrix
Die Kategorien ABCD usw
und die Zeitwerte 1,2,3 usw
Die Matrix ist mit x oder leer befüllt
_ABCD....
1 x _ x
2 _x _x
3 ...
4....
5...

Ich möchte nun herausfinden welche Kategorien aufeinander folgen in
der gesamten Matrix.
In diesem Fall müssen immer 2 aufeinander folgende Zeilen
miteinander verglichen werden. Sprich beim Vergleich von Zeile 1 mit 2
ergeben sich folgende Ergebnisse
AB
AD
CB
CD
Weil nach Nennung von A in Zeile 1 folgt die Nennung von B,C in Zeile
2
Weil Nennung von C in Zeile 1 folgt die Nennung von B und C in Zeile 2
Das ganze wird denn für alle Zeilen wiederholt. Vergleich von Zeile 2
und3; 3 und 4 etc...
Danke für Ihre Unterstützung

8 Antworten

0 Punkte
Beantwortet von
Hi,

mein Formelvorschlag geht von folgenden Bedingungen aus:

In B1 steht die erste Kategorie, in A2 der erste Zeitwert.
Nachdem du usw... schreibst habe ich keine Ahnung, wie weit nach rechts und unten deine Matrix geht. bei mir geht sie bis Spalte J und kann soweit nach unten gehen wie benötigt.


{=INDEX($B$1:$J$1;1;KKLEINSTE(WENN($B2:$J2="x";SPALTE($B2:$J2)-1);AUFRUNDEN(SPALTE(A1)/ZÄHLENWENN($B2:$J2;"x");0)))&INDEX($B$1:$J$1;1;KKLEINSTE(WENN($B3:$J3="x";SPALTE($B3:$J3)-1);AUFRUNDEN(SPALTE(A1)/ZÄHLENWENN($B3:$J3;"x");0)))}

Diese Formel kannst du nun irgendwo eintragen und soweit benötigt nach rechts (es werden dann die entsprechenden Kombinationen nach rechts angezeigt) und soweit benötigt nach unten kopiert werden.
ACHTUNG!! MATRIXFORMEL die geschweiften Klammern nicht händisch eingeben, sondern Formel normal erfassen und mit STRG+SCHIFT+ENTEr abschliessen.

Die Formel gibt eine Fehlermeldung aus, wenn es keine Kombinationen mehr gibt, bzw. es keine Vergleichszeile mehr vorhanden ist.

CU Aliba
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi aliba ^^

ich mach dir nur ungern konkurenz :-)

gruss nighty

in einem rutsch die berechung
Darstellung in spalte e
bedenke das es bis zu 16 funde geben kann und die spalte e entsprechend breit sein sollte

Sub Vergleich()
Dim LetzteZeile As Long
LetzteZeile = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
Dim ZeichenIndex As Variant
ReDim bereich(LetzteZeile, 4) As Variant
ReDim bereich1(LetzteZeile, 1) As Variant
ZeichenIndex = Array("A", "B", "C", "D", "-")
bereich() = Range("A1:D" & LetzteZeile)
bereich1() = Range("E1:E" & LetzteZeile)
For zeile = 1 To LetzteZeile - 1
For spalte = 1 To 4
For ispalte = 1 To 4
If bereich(zeile, spalte) = "x" And bereich(zeile + 1, ispalte) = "x" Then
bereich1(zeile, 1) = bereich1(zeile, 1) & ZeichenIndex(spalte - 1) & ZeichenIndex(ispalte - 1)
bereich1(zeile, 1) = bereich1(zeile, 1) & ZeichenIndex(4)
End If
Next ispalte
Next spalte
Next zeile
Range("E1:E" & LetzteZeile) = bereich1()
End Sub
0 Punkte
Beantwortet von
Hi nighty,

das ist doch keine Konkurenz, das ist doch VBA, wovon ich keine Ahnung habe. Konkurrieren kann man doch bloss, wenn 2 oder mehrere in einer Klasse spielen. Bei Formeln kann ich da ein wenig mitstreiten, aber VBA...

CU Aliba
0 Punkte
Beantwortet von kalli007 Einsteiger_in (11 Punkte)
Hm, also mir ist egal in welcher Klasse das Problem gelöst wird, Aber folgender Hinweis:
A,B,C,D habe ich als abstrakte Variablen für die Problembeschreibung verwendet. In Wirklichkeit steht dort ein Text
Meine Matrix hat derzeit ein größe von E4 bis BG68.
Wäre natürlich prima wenn ihr mir sagen könnt was ich ändern muss um die Formel oder das VBA script auf die gewünschte Größe abzuändern :)
Danke und Grüße
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi :-)

pro zeile ist ein max an 3025 treffern

insgesamt ein max an 193600 treffern

193600 treffer muessen erstmal dargestellt werden ^^

wie hast du dir das gedacht :-)))

gruss nighty
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi :-)

benenne eine oder mehrere spalten fuer die Darstellung
welches worksheet,das selbe oder ein anderes ?
wenn es woerter sein sollten waere eine aehnlichkeitspruefung nicht schlecht
hab ich aber noch nie gemacht
wobei einfacher wortvergleich kein prob ist

gruss nighty
0 Punkte
Beantwortet von kalli007 Einsteiger_in (11 Punkte)
Ich glaube ihr könnt das Problem im Handumdrehen lösen. Aber ich glaube mein Anliegen ist noch nicht richtig verstanden worden.
Kann ich hier irgendwo die Datei hochladen oder ein Foto? Ich glaube das würde helfen.
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi :-)
meine email
oberley@t-online.de

gruss nighty
...