Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Werte einer Matrix in aufsteigender Reihenfolge (ohne doppelte Werte)

346 views
Skip to first unread message

André Jochim

unread,
Jan 31, 2010, 11:37:16 AM1/31/10
to
Hallo,

ich bin gerade ein bi�chen am Basteln und habe das Gef�hl, da� ich
langsam Druckstellen an den F��en bekomme, weil ich so fest auf der
Leitung zu stehen scheine...:

Ich habe (unter Excel 2003) eine Matrix von nur 10
untereinanderstehenden Werten (Datumsformat), die ich durch Bez�ge auf
unterschiedliche andere Bereiche erhalte. Diese sind nicht sortiert und
teilweise k�nnen Werte mehrfach vorhanden sein.

Jetzt brauche ich in der gleichen Spalte darunterliegend einen Bereich,
in dem die Datum-Werte in aufsteigender Reihenfolge aufgef�hrt werden,
wobei mehrfache Werte nur einfach dargestellt werden sollen.

Ich habe �nzwischen �ber mehrere Hilfszeilen, die ich ja der
�bersichtlichkeit halber ausblenden kann, zwar ein Ergebnis erhalten,
aber dieses erscheint mir sehr kompliziert. Vielleicht geht es ja
einfacher.

Mit Hilfe der Funktion Rang() kann ich zwar die Werte sortiert in die
nachfolgenden Zellen schreiben. Auch Null-Werte k�nnen von der
Sortierung ausgeblendet werden. Aber gleiche Werte erhalten - wie
Platzierungen im Sport - immer den gleichen Rang-Wert, wobei die
nachfolgenden Pl�tze entsprechend der Anzahl der Wertedopplung nicht
vergeben werden.

Gibt es vielleicht eine einfache Option, wie Rang() dazu �berredet
werden kann, die einer Wertedopplung nachfolgenden Pl�tze nicht
auszusparen, sondern normal zu vergeben oder mehrfache Werte gar nicht
zu ber�cksichtigen? Das w�rde mir schon sehr weiterhelfen...

Danke f�r jede Hilfe

Andr�

Hier noch ein kurzes Beispiel

Daten:

01.05.2009
31.07.2009
01.03.2009
30.04.2009
01.01.2009
31.12.2009
01.05.2009
31.12.2009
01.08.2009
31.12.2009

Als Ergebnis m�chte ich dann haben:
01.01.2009
01.03.2009
30.04.2009
01.05.2009
31.07.2009
01.08.2009
31.12.2009

--
Traumferienwohnung gesucht? (4**** nach DTV)
Urlaub in der Mecklenburgischen Seenplatte...
www.urlaub-in-sorgenlos.de

Dietmar Vollmeier

unread,
Jan 31, 2010, 11:55:00 AM1/31/10
to
Gr�� dich Andr�!

*Andr� Jochim* schrieb am 31.01.2010 um 17:37 Uhr...


> Ich habe (unter Excel 2003) eine Matrix von nur 10
> untereinanderstehenden Werten (Datumsformat), die ich durch Bez�ge auf
> unterschiedliche andere Bereiche erhalte. Diese sind nicht sortiert und
> teilweise k�nnen Werte mehrfach vorhanden sein.

> Jetzt brauche ich in der gleichen Spalte darunterliegend einen Bereich,
> in dem die Datum-Werte in aufsteigender Reihenfolge aufgef�hrt werden,
> wobei mehrfache Werte nur einfach dargestellt werden sollen.

> [...]

> Hier noch ein kurzes Beispiel

> Daten:

> 01.05.2009
> 31.07.2009
> 01.03.2009
> 30.04.2009
> 01.01.2009
> 31.12.2009
> 01.05.2009
> 31.12.2009
> 01.08.2009
> 31.12.2009

Angenommen, diese Daten stehen in A1:A10

> Als Ergebnis m�chte ich dann haben:
> 01.01.2009
> 01.03.2009
> 30.04.2009
> 01.05.2009
> 31.07.2009
> 01.08.2009
> 31.12.2009

Das Ergebnis wird ausgegeben in B1:B?
Gegebenenfalls mu�t du diese Formeln noch deiner Tabelle anpassen.

Schreibe in die erste Spalte f�r dein Ergebnis (B1)
=MIN(A1:A10)

Weiters in B2 (diese Formel mit [Strg]+[Shift]+[Enter] abschlie�en!)
=WENN(ODER(B1="";B1=MAX(A:A));"";MIN(WENN(A$1:A$10<>"";WENN(A$1:A$10>B1;A$1:A$10))))

Ziehe anschlie�end die zweite Formel soweit wie gew�nscht nach unten.

HTH
--
Servus | "In Zukunft k�nnten Computer vielleicht aus nur noch 1.000
Didi | Vakuumr�hren bestehen und nur noch 1,5 Tonnen wiegen."
| --> US-Magazin Popular Mechanics, 1949

Claus Busch

unread,
Jan 31, 2010, 12:01:57 PM1/31/10
to
Hallo Andr�,

Am Sun, 31 Jan 2010 17:37:16 +0100 schrieb Andr� Jochim:

> Hier noch ein kurzes Beispiel
>
> Daten:
>
> 01.05.2009
> 31.07.2009
> 01.03.2009
> 30.04.2009
> 01.01.2009
> 31.12.2009
> 01.05.2009
> 31.12.2009
> 01.08.2009
> 31.12.2009
>
> Als Ergebnis m�chte ich dann haben:
> 01.01.2009
> 01.03.2009
> 30.04.2009
> 01.05.2009
> 31.07.2009
> 01.08.2009
> 31.12.2009

falls deine Daten keine �berschrift haben, f�ge dar�ber eine ein. Markiere
dann deinen Datenbereich und gehe auf Daten => Filter => Spezialfilter und
filtere deine Daten an deinen gew�nschten Bereich. Achte darauf, dass du
beim Filtern "Keine Duplikate" aktiviert hast. Markiere nun deinen neuen
Bereich und sortiere ihn.
Falls du es mit Formeln machen m�chtest, schau mal hier rein:
http://www.excelformeln.de/formeln.html?welcher=194


Mit freundlichen Gr�ssen
Claus Busch
--
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2

André Jochim

unread,
Jan 31, 2010, 3:26:02 PM1/31/10
to
Dietmar Vollmeier schrieb:

> Schreibe in die erste Spalte f�r dein Ergebnis (B1)
> =MIN(A1:A10)
>
> Weiters in B2 (diese Formel mit [Strg]+[Shift]+[Enter] abschlie�en!)
> =WENN(ODER(B1="";B1=MAX(A:A));"";MIN(WENN(A$1:A$10<>"";WENN(A$1:A$10>B1;A$1:A$10))))
>
> Ziehe anschlie�end die zweite Formel soweit wie gew�nscht nach unten.

Super :-)

Wenn das so einfach ist, h�tte ich mir einige Verrenkungen sparen
k�nnen. Ich glaube, es ist an der Zeit, da� ich mich mal mit den
Matrixformeln besch�ftige...

Ich habe unter www.urlaub-in-sorgenlos.de/excel/test.zip mal einen
Ausschnitt meiner Verrenkungen mit Rang()-, Index()-, kkleinster()-,
z�hlenwenn()- usw. Funktionen zum Anschauen hinterlegt. Am Ende hat es
auch funktioniert, aber Deine Funktion ist nat�rlich viel einfacher. Sie
funktioniert auf jeden Fall beim ersten Versuch gleich so, wie ich es
brauche. Auch bei Leerfeldern in A1:A10.

Jetzt mu� ich nur noch versuchen, die einzelnen Schachtelebenen mal
auseinanderzudr�seln und zu verstehen ;-)

1001 Dank

Andr�

Dietmar Vollmeier

unread,
Feb 1, 2010, 10:38:45 AM2/1/10
to
*Andr� Jochim* schrieb am 31.01.2010 um 21:26 Uhr...
> Dietmar Vollmeier schrieb:

>> Schreibe in die erste Spalte f�r dein Ergebnis (B1)
>> =MIN(A1:A10)

>> Weiters in B2 (diese Formel mit [Strg]+[Shift]+[Enter] abschlie�en!)
>> =WENN(ODER(B1="";B1=MAX(A:A));"";MIN(WENN(A$1:A$10<>"";WENN(A$1:A$10>B1;A$1:A$10))))

>> Ziehe anschlie�end die zweite Formel soweit wie gew�nscht nach unten.

> Super :-)

: )

> Wenn das so einfach ist, h�tte ich mir einige Verrenkungen sparen
> k�nnen. Ich glaube, es ist an der Zeit, da� ich mich mal mit den
> Matrixformeln besch�ftige...

> [...]

> Jetzt mu� ich nur noch versuchen, die einzelnen Schachtelebenen mal
> auseinanderzudr�seln und zu verstehen ;-)

Funktioniert �brigens auch ohne Matrix - und ist f�r den Anfang dadurch
auch ein wenig leichter zu verstehen:

=WENN(MAX(B$1:B1)=MAX(A$1:A$10);"";KKLEINSTE(A$1:A$10;Z�HLENWENN(A$1:A$10;"<="&B1)+1))

Deine Versuche werd ich mir jetzt mal in Ruhe ansehen.

> 1001 Dank

Bitte :)
--
Servus | Geht der Meeresspiegel kaputt, wenn man in See sticht?
Didi |

Dietmar Vollmeier

unread,
Feb 1, 2010, 10:42:11 AM2/1/10
to
*Andr� Jochim* schrieb am 31.01.2010 um 21:26 Uhr...
> Dietmar Vollmeier schrieb:

>> Schreibe in die erste Spalte f�r dein Ergebnis (B1)
>> =MIN(A1:A10)

>> Weiters in B2 (diese Formel mit [Strg]+[Shift]+[Enter] abschlie�en!)
>> =WENN(ODER(B1="";B1=MAX(A:A));"";MIN(WENN(A$1:A$10<>"";WENN(A$1:A$10>B1;A$1:A$10))))

>> Ziehe anschlie�end die zweite Formel soweit wie gew�nscht nach unten.

> Super :-)

: )

> Wenn das so einfach ist, h�tte ich mir einige Verrenkungen sparen
> k�nnen. Ich glaube, es ist an der Zeit, da� ich mich mal mit den
> Matrixformeln besch�ftige...

> [...]

> Jetzt mu� ich nur noch versuchen, die einzelnen Schachtelebenen mal
> auseinanderzudr�seln und zu verstehen ;-)

Funktioniert �brigens auch ohne Matrix - und ist f�r den Anfang dadurch


auch ein wenig leichter zu verstehen:

=WENN(ODER(B$1="";MAX(B$1:B1)=MAX(A$1:A$10));"";KKLEINSTE(A$1:A$10;Z�HLENWENN(A$1:A$10;"<="&B1)+1))

Dietmar Vollmeier

unread,
Feb 1, 2010, 10:46:49 AM2/1/10
to
*Dietmar �INGRID� Vollmeier* schrieb am 01.02.2010 um 16:42 Uhr...
> =WENN([...];KKLEINSTE(A$1:A$10;Z�HLENWENN(A$1:A$10;"<="&B1)+1))

> Deine Versuche werd ich mir jetzt mal in Ruhe ansehen.

=WENN([...];KKLEINSTE($A$1:$A$10;Z�HLENWENN($A$1:$A$10;0)+$B12))

Das war schon nicht schlecht :)
--
Servus | Etwas dort wegnehmen, wohin es geh�rt, erfordert weniger
Didi | Energie, als es wieder an Ort und Stelle zu bringen.

André Jochim

unread,
Feb 1, 2010, 3:31:04 PM2/1/10
to
Dietmar Vollmeier schrieb:

> Das war schon nicht schlecht :)

Aber deutlich verbesserungsbed�rftig - wie man sieht...

> =WENN(ODER(B1="";B1=MAX(A:A));"";MIN(WENN(A$1:A$10<>"";WENN(A$1:A$10>B1;A$1:A$10))))

Ich glaube, ich hab's verstanden. Das ist ja wirklich pfiffig. Diese
Zauberformeln scheinen ja offensichtlich wirklich in der Lage zu sein,
so wie verschachtelte for...next-Schleifen zu arbeiten. Erst wird der
innere Teil abgearbeitet und alle hier ausgew�hlten Werte werden dann in
der n�chsth�heren Ebene der Formel weiterverarbeitet.

Das hei�t ich kann dann - um z.B. Zahlenwerte gr��er 4 in einer Matrix
von A1:A10 herauszusuchen - anstelle von =Z�HLENWENN(A$1:A$10;">"&4)
folgendes benutzen:
{=ANZAHL(WENN(A$1:A$10>4;A$1:A$10))}

Wobei mir hier wieder auff�llt, da� mir irgendwie die Z1S1-Darstellung
der Feldbezeichnungen besser gef�llt. Mit der o.g. Funktion kann man nur
etwas anfangen, wenn man wei�, wo sie steht. Wenn anstelle B1 dann
Z(-1)S stehen w�rde, w�sste man gleich, da� es sich hier um einen Bezug
auf die dar�berliegende Zelle handelt.


Gibt es eigentlich diesbez�glich schlaue Internetseiten, auf denen man
den Umgang mit den Matrix-Funktionen systematisch lernen kann? In der
Excel-Hilfe habe ich zumindest nicht viel dar�ber gefunden. Aber
vielleicht habe ich nur falsch gesucht...

Dietmar Vollmeier

unread,
Feb 1, 2010, 3:41:17 PM2/1/10
to
*Andr� Jochim* schrieb am 01.02.2010 um 21:31 Uhr...
> Dietmar Vollmeier schrieb:

>> Das war schon nicht schlecht :)

> Aber deutlich verbesserungsbed�rftig - wie man sieht...

Nobody's perfect ;)

>> =WENN(ODER(B1="";B1=MAX(A:A));"";MIN(WENN(A$1:A$10<>"";WENN(A$1:A$10>B1;A$1:A$10))))

> Ich glaube, ich hab's verstanden. Das ist ja wirklich pfiffig. Diese
> Zauberformeln scheinen ja offensichtlich wirklich in der Lage zu sein,
> so wie verschachtelte for...next-Schleifen zu arbeiten. Erst wird der
> innere Teil abgearbeitet und alle hier ausgew�hlten Werte werden dann in
> der n�chsth�heren Ebene der Formel weiterverarbeitet.

Der Clou ist, da� eine Matrix-Formel eine Matrix erzeugt, die genauso
ausgewertet werden kann, als mehrere Werte in verschiedenen Zellen.

> Das hei�t ich kann dann - um z.B. Zahlenwerte gr��er 4 in einer Matrix
> von A1:A10 herauszusuchen - anstelle von =Z�HLENWENN(A$1:A$10;">"&4)
> folgendes benutzen:
> {=ANZAHL(WENN(A$1:A$10>4;A$1:A$10))}

Hier w�rde ich die Matrix-Funktion (keine Matrix!) SUMMENPRODUKT
anstelle verwenden:
=SUMMENPRODUKT(--(A1:A10>4))

Als Matrix:
{=SUMME(--(A1:A10>4))}

> Wobei mir hier wieder auff�llt, da� mir irgendwie die Z1S1-Darstellung
> der Feldbezeichnungen besser gef�llt.

Geschmackssache, ich bevorzuge eher obige Schreibweise.

> Mit der o.g. Funktion kann man nur etwas anfangen, wenn man wei�, wo
> sie steht. Wenn anstelle B1 dann Z(-1)S stehen w�rde, w�sste man
> gleich, da� es sich hier um einen Bezug auf die dar�berliegende Zelle
> handelt.

siehe auch BEREICH.VERSCHIEBEN()

> Gibt es eigentlich diesbez�glich schlaue Internetseiten, auf denen man
> den Umgang mit den Matrix-Funktionen systematisch lernen kann? In der
> Excel-Hilfe habe ich zumindest nicht viel dar�ber gefunden. Aber
> vielleicht habe ich nur falsch gesucht...

Bei mir wars "lerning by doing". Aber hier [1] gibt es viele Beispiele,
aus denen man viele wertvolle Informationen ziehen kann.

Fu�n�tiges:
===========
[1] http://www.excelformeln.de/formeln.html
--
Servus | Man kann kein Programm idiotensicher machen,
Didi | weil die Idioten so erfinderisch sind!

André Jochim

unread,
Feb 2, 2010, 10:55:01 AM2/2/10
to
Dietmar Vollmeier schrieb:

>> Das hei�t ich kann dann - um z.B. Zahlenwerte gr��er 4 in einer
>> Matrix von A1:A10 herauszusuchen - anstelle von
>> =Z�HLENWENN(A$1:A$10;">"&4) folgendes benutzen:
>> {=ANZAHL(WENN(A$1:A$10>4;A$1:A$10))}

> Hier w�rde ich die Matrix-Funktion (keine Matrix!) SUMMENPRODUKT
> anstelle verwenden:
> =SUMMENPRODUKT(--(A1:A10>4))

Warum eigentlich '--'? Ist das, um aus dem Wahr bzw. Falsch des
Vergleichs eine 0 oder 1 zu machen? Das ginge doch auch mittels
Multiplikation mit 1, oder?

> Als Matrix:
> {=SUMME(--(A1:A10>4))}

Matrix? Matrixfunktion? �hhh... - was ist denn hier eigentlich der
Unterschied? Sind die Matrixfunktionen die in Excel vordefinierten, die
sich nicht nur auf einzelne Zellen, sondern auf Bereiche beziehen? Und
eine Matrix ist es dann, wenn mittels Ctrl-Shift-Enter aus einer
normalen Funktion mit Bezugen auf Bereiche statt auf einzelne Zellen
durch die geschweiften Klammern eine selbsgemachte Matrixfunktion wird?

> [1] http://www.excelformeln.de/formeln.html

Da werde ich mich St�ck f�r St�ck mal schlaulesen.

Andr�

PS: Ich war gerade so ein bi�chen am T�fteln und h�nge nat�rlich gleich
wieder - bestimmt an irgendwelchen einfachen Fehlern. Meine
Matrix-Funktion bzw. Matrix tut auf jeden Fall nicht das, was sie tun
soll... :-(

Folgendes Beispiel:

Ich habe von A1:A3 die Zahlen {1.2.3}

F�r diese Zahlen m�chte ich pr�fen, ob sie innerhalb bestimmter
Intervalle liegen. Diese unteren Intervallgrenzen liegen z.B. von B1:B6
mit den Werten {1.4.3.2.6.8}, die oberen von C1:C6 mit den Werten
{11.7.5.8.10.12)

Liegt die Zahl innerhalb bestimmter geschlossener Intervalle (z.B.
B1<=A1<=C1), dann soll eine Summe der hinter den passenden Intervallen
stehenden Zahlen (D1:D6) mit den Werten {3.2.4.6.5.1} gebildet werden.

1 ist im oberen Beispiel dann z.B. im Intervall [C1...D1] enthalten. Als
Ergebnis w�rde ich dann 3 (aus Spalte D) erwarten.
2 ist im oberen Beispiel dann z.B. im Intervall [C1...D1] und [C4...D4]
enthalten. Als Ergebnis w�rde ich dann 9 (D1+D4) erwarten.
3 ist im oberen Beispiel dann z.B. im Intervall [C1...D1], [C3...D3] und
[C4...D4] enthalten. Als Ergebnis w�rde ich dann 13 (D1+D3+D4) erwarten.

Wie kriege ich das blo� hin? Bestimmt ist es wieder gar nicht so schwer.
Nur das 'gewu�t wie' fehlt...

Dietmar Vollmeier

unread,
Feb 2, 2010, 11:06:26 AM2/2/10
to
*Andr� Jochim* schrieb am 02.02.2010 um 16:55 Uhr...
> Dietmar Vollmeier schrieb:

>>> Das hei�t ich kann dann - um z.B. Zahlenwerte gr��er 4 in einer
>>> Matrix von A1:A10 herauszusuchen - anstelle von
>>> =Z�HLENWENN(A$1:A$10;">"&4) folgendes benutzen:
>>> {=ANZAHL(WENN(A$1:A$10>4;A$1:A$10))}

>> Hier w�rde ich die Matrix-Funktion (keine Matrix!) SUMMENPRODUKT
>> anstelle verwenden:
>> =SUMMENPRODUKT(--(A1:A10>4))

> Warum eigentlich '--'? Ist das, um aus dem Wahr bzw. Falsch des
> Vergleichs eine 0 oder 1 zu machen? Das ginge doch auch mittels
> Multiplikation mit 1, oder?

Sehr gut mitgedacht. Das "--" bedeutet nur, da� Excel die Werte zweimal
negiert. Aus *true* wird zuerst *-1* und anschlie�end *1*.

>> Als Matrix:
>> {=SUMME(--(A1:A10>4))}

> Matrix? Matrixfunktion? �hhh... - was ist denn hier eigentlich der
> Unterschied? Sind die Matrixfunktionen die in Excel vordefinierten, die
> sich nicht nur auf einzelne Zellen, sondern auf Bereiche beziehen? Und
> eine Matrix ist es dann, wenn mittels Ctrl-Shift-Enter aus einer
> normalen Funktion mit Bezugen auf Bereiche statt auf einzelne Zellen
> durch die geschweiften Klammern eine selbsgemachte Matrixfunktion wird?

Recht viel anders k�nnte ich es dir jetzt auch nicht erkl�ren.
--
Servus | Latein ist die sp�te Rache der R�mer an den Germanen.
Didi |

Dietmar Vollmeier

unread,
Feb 2, 2010, 11:32:52 AM2/2/10
to
*Andr� Jochim* schrieb am 02.02.2010 um 16:55 Uhr...
> Ich habe von A1:A3 die Zahlen {1.2.3}

> F�r diese Zahlen m�chte ich pr�fen, ob sie innerhalb bestimmter
> Intervalle liegen. Diese unteren Intervallgrenzen liegen z.B. von B1:B6
> mit den Werten {1.4.3.2.6.8}, die oberen von C1:C6 mit den Werten
> {11.7.5.8.10.12)

> Liegt die Zahl innerhalb bestimmter geschlossener Intervalle (z.B.
> B1<=A1<=C1), dann soll eine Summe der hinter den passenden Intervallen
> stehenden Zahlen (D1:D6) mit den Werten {3.2.4.6.5.1} gebildet werden.

Laut deinen Angaben h�tte ich jetzt folgende Tabelle

+-----+-----+-----+-----+-----+
� � A � B � C � D �
+-----+-----+-----+-----+-----+
� 1 � 1 � 1 � 11 � 3 �
+-----+-----+-----+-----+-----+
� 2 � 2 � 4 � 7 � 2 �
+-----+-----+-----+-----+-----+
� 3 � 3 � 3 � 5 � 4 �
+-----+-----+-----+-----+-----+
� 4 � � 2 � 8 � 6 �
+-----+-----+-----+-----+-----+
� 5 � � 6 � 10 � 5 �
+-----+-----+-----+-----+-----+
� 6 � � 8 � 12 � 1 �
+-----+-----+-----+-----+-----+

> 1 ist im oberen Beispiel dann z.B. im Intervall [C1...D1] enthalten. Als
> Ergebnis w�rde ich dann 3 (aus Spalte D) erwarten.
> 2 ist im oberen Beispiel dann z.B. im Intervall [C1...D1] und [C4...D4]
> enthalten. Als Ergebnis w�rde ich dann 9 (D1+D4) erwarten.
> 3 ist im oberen Beispiel dann z.B. im Intervall [C1...D1], [C3...D3] und
> [C4...D4] enthalten. Als Ergebnis w�rde ich dann 13 (D1+D3+D4) erwarten.

Hierzu passen aber die angegebenen Intervalle nicht (eine Verschiebung
von einer Spalte nach links bei deinen Angaben w�rde Sinn machen).

> Wie kriege ich das blo� hin? Bestimmt ist es wieder gar nicht so schwer.
> Nur das 'gewu�t wie' fehlt...

Kopiere in E1 folgende Formel und ziehe diese dann soweit wie gew�nscht
nach unten (keine Matrix, da Matrix-Funktion):

=WENN(ZEILE(A1)>ANZAHL(A:A);"";SUMMENPRODUKT((A1>=$B$1:$B$6)*(A1<=$C$1:$C$6);$D$1:$D$6))


HTH
--
Servus | Wu�est du eigentlich schon...
Didi | wenn du deinen Kopf gegen die Wand schl�gst verbrauchst du
| 150 Kalorin. (guter Tipp f�r alle die abnehmen wollen)

André Jochim

unread,
Feb 2, 2010, 11:45:05 AM2/2/10
to
Dietmar Vollmeier schrieb:

> Laut deinen Angaben h�tte ich jetzt folgende Tabelle

[...]

Ja :-)

>> 1 ist im oberen Beispiel dann z.B. im Intervall [C1...D1] enthalten.
>> Als Ergebnis w�rde ich dann 3 (aus Spalte D) erwarten.
>> 2 ist im oberen Beispiel dann z.B. im Intervall [C1...D1] und
>> [C4...D4] enthalten. Als Ergebnis w�rde ich dann 9 (D1+D4) erwarten.
>> 3 ist im oberen Beispiel dann z.B. im Intervall [C1...D1], [C3...D3]
>> und [C4...D4] enthalten. Als Ergebnis w�rde ich dann 13 (D1+D3+D4)
>> erwarten.

> Hierzu passen aber die angegebenen Intervalle nicht (eine Verschiebung
> von einer Spalte nach links bei deinen Angaben w�rde Sinn machen).

Uuups... - die Intervalle sind nat�rlich von [B...C], nicht von [c...D].
Gut aufgepasst, wollte Dich nur testen... ;-)
*duck-und-weg*

> Kopiere in E1 folgende Formel und ziehe diese dann soweit wie
> gew�nscht nach unten (keine Matrix, da Matrix-Funktion):
>
> =WENN(ZEILE(A1)>ANZAHL(A:A);"";SUMMENPRODUKT((A1>=$B$1:$B$6)*(A1<=$C$1:$C$6);$D$1:$D$6))

Probiere ich gleich mal aus.

Ich hatte geschrieben:
=SUMMENPRODUKT((--($B$1:$B$6>=A1))*(--(A1<=$C$1:$C$6));$D$1:$D$6)

Und habe dabei gerade gesehen, da� ich nur einen Vergleichsoperator
verdreht habe :-(

Also so:
=SUMMENPRODUKT((--($B$1:$B$6<=A1))*(--(A1<=$C$1:$C$6));$D$1:$D$6)

Dann war das doch schonmal gar nicht so schlecht :-)

Danke Dir 1000x

Andr�

Dietmar Vollmeier

unread,
Feb 2, 2010, 11:47:22 AM2/2/10
to
*Dietmar �INGRID� Vollmeier* schrieb am 02.02.2010 um 17:32 Uhr...

> =WENN(ZEILE(A1)>ANZAHL(A:A);"";SUMMENPRODUKT((A1>=$B$1:$B$6)*(A1<=$C$1:$C$6);$D$1:$D$6))

Dies sollte eigentlich auch gen�gen, um keine Fehlerwerte zu erzeugen
=WENN(A1="";"";SUMMENPRODUKT((A1>=$B$1:$B$6)*(A1<=$C$1:$C$6);$D$1:$D$6))

und wenn ich schonmal dabei bin, diese L�sung gleich noch als Matrix
{=WENN(A1="";"";SUMME((A1>=$B$1:$B$6)*(A1<=$C$1:$C$6)*$D$1:$D$6))}
--
Servus | "Wenn man keine Ahnung hat: Einfach mal Fresse halten!"
Didi | --> Dieter Nuhr

Dietmar Vollmeier

unread,
Feb 2, 2010, 11:53:42 AM2/2/10
to
*Andr� Jochim* schrieb am 02.02.2010 um 17:45 Uhr...

> =SUMMENPRODUKT((--($B$1:$B$6<=A1))*(--(A1<=$C$1:$C$6));$D$1:$D$6)

true * true = 1
false * false = 0
true * false = 0
etc.

Bei mathematischen Verkn�pfungen in einer Matrix kannst du dir die
Umwandlung der bool'schen Werte sparen.

> Dann war das doch schonmal gar nicht so schlecht :-)

Stimmt, ist eigentlich garnicht so schwer.

> Danke Dir 1000x

Bitte :)
--
Servus | Nur weil die Klugen immer nachgeben,
Didi | regieren die Dummen die Welt.

0 new messages