Vektor Problem

23/10/2012 - 10:57 von Andreas | Report spam
Hallo!

Ich stehe for folgendem Vektor Problem:

A B C D E F G H I
1 6 3 4 5 - 1 2 3
1 4 3

Im Bereich A1:E1 steht der Vektor {1,6,3,4,5} und in G1:I1 steht ein kleinerer Vektor {1,2,3}. Es soll überprüft werden, ob der Inhalt des kürzeren Vektors Bestandteil des làngeren Vektors ist. In unserem Fall sind nur zwei Elemente des kürzeren Vektors im làngeren Vektor enthalten, nàmlich 1 und 3 (die 2 fehlt). Falls der Vektor komplett enthalten wàre, so soll er unveràndert in den Bereich G2:I2 geschrieben werden. Falls nicht, wie in diesem Beispiel, soll das fehlende Element durch die nàchst kleinere Zahl aus dem größeren Vektor ersetzt werden. Hier würde also die 2 aus dem kleineren Vektor durch die 4 aus dem größeren Vektor ersetzt. 4 ist die kleinste Zahl aus dem größeren Vektor, die noch nicht in dem kürzeren Vektor enthalten ist.

Besten Dank und viele Grüße
Andreas
 

Lesen sie die antworten

#1 Claus Busch
23/10/2012 - 14:27 | Warnen spam
Hallo Andreas,

Am Tue, 23 Oct 2012 01:57:04 -0700 (PDT) schrieb Andreas:

A B C D E F G H I
1 6 3 4 5 - 1 2 3
1 4 3

Im Bereich A1:E1 steht der Vektor {1,6,3,4,5} und in G1:I1 steht ein kleinerer Vektor {1,2,3}. Es soll überprüft werden, ob der Inhalt des kürzeren Vektors Bestandteil des làngeren Vektors ist. In unserem Fall sind nur zwei Elemente des kürzeren Vektors im làngeren Vektor enthalten, nàmlich 1 und 3 (die 2 fehlt). Falls der Vektor komplett enthalten wàre, so soll er unveràndert in den Bereich G2:I2 geschrieben werden. Falls nicht, wie in diesem Beispiel, soll das fehlende Element durch die nàchst kleinere Zahl aus dem größeren Vektor ersetzt werden. Hier würde also die 2 aus dem kleineren Vektor durch die 4 aus dem größeren Vektor ersetzt. 4 ist die kleinste Zahl aus dem größeren Vektor, die noch nicht in dem kürzeren Vektor enthalten ist.



die Formel wird ohne Hilfsspalte sehr lang und unübersichtlich.
Ich habe es im Moment so gelöst:
K1: =WENNFEHLER(RANG(G1;A1:E1;1);0)
k2: =WENNFEHLER(RANG(H1;A1:E1;1);0)
K3: =WENNFEHLER(RANG(I1;A1:E1;1);0)
G2:
=WENNFEHLER(INDEX($A$1:$E$1;VERGLEICH(G1;$A$1:$E$1;0));KKLEINSTE($A$1:$E$1;WENN(ZÄHLENWENN($K$1:$K$3;1)=0;1;WENN(MAX($K$1:$K$3)-MIN($K$1:$K$3)>2;MIN($K$1:$K$3)+2;3))))
und nach rechts ziehen


Mit freundlichen Grüßen
Claus Busch
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3

Ähnliche fragen