Discussion:
Werte einer Matrix in aufsteigender Reihenfolge (ohne doppelte Werte)
(zu alt für eine Antwort)
André Jochim
2010-01-31 16:37:16 UTC
Permalink
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
2010-01-31 16:55:00 UTC
Permalink
Grüß dich André!

*André Jochim* schrieb am 31.01.2010 um 17:37 Uhr...
Post by André Jochim
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
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
Post by André Jochim
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
André Jochim
2010-01-31 20:26:02 UTC
Permalink
Post by Dietmar Vollmeier
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é
--
Traumferienwohnung gesucht? (4**** nach DTV)
Urlaub in der Mecklenburgischen Seenplatte...
www.urlaub-in-sorgenlos.de
Dietmar Vollmeier
2010-02-01 15:38:45 UTC
Permalink
*André Jochim* schrieb am 31.01.2010 um 21:26 Uhr...
Post by André Jochim
Post by Dietmar Vollmeier
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 :-)
: )
Post by André Jochim
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.
Post by André Jochim
1001 Dank
Bitte :)
--
Servus | Geht der Meeresspiegel kaputt, wenn man in See sticht?
Didi |
Dietmar Vollmeier
2010-02-01 15:42:11 UTC
Permalink
*André Jochim* schrieb am 31.01.2010 um 21:26 Uhr...
Post by André Jochim
Post by Dietmar Vollmeier
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 :-)
: )
Post by André Jochim
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))

Deine Versuche werd ich mir jetzt mal in Ruhe ansehen.
Post by André Jochim
1001 Dank
Bitte :)
--
Servus | Geht der Meeresspiegel kaputt, wenn man in See sticht?
Didi |
Dietmar Vollmeier
2010-02-01 15:46:49 UTC
Permalink
*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
2010-02-01 20:31:04 UTC
Permalink
Post by Dietmar Vollmeier
Das war schon nicht schlecht :)
Aber deutlich verbesserungsbedürftig - wie man sieht...
Post by Dietmar Vollmeier
=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...


André
--
Traumferienwohnung gesucht? (4**** nach DTV)
Urlaub in der Mecklenburgischen Seenplatte...
www.urlaub-in-sorgenlos.de
Dietmar Vollmeier
2010-02-01 20:41:17 UTC
Permalink
*André Jochim* schrieb am 01.02.2010 um 21:31 Uhr...
Post by André Jochim
Post by Dietmar Vollmeier
Das war schon nicht schlecht :)
Aber deutlich verbesserungsbedürftig - wie man sieht...
Nobody's perfect ;)
Post by André Jochim
Post by Dietmar Vollmeier
=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.
Post by André Jochim
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)
{=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))}
Post by André Jochim
Wobei mir hier wieder auffällt, daß mir irgendwie die Z1S1-Darstellung
der Feldbezeichnungen besser gefällt.
Geschmackssache, ich bevorzuge eher obige Schreibweise.
Post by André Jochim
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()
Post by André Jochim
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
2010-02-02 15:55:01 UTC
Permalink
Post by Dietmar Vollmeier
Post by André Jochim
Das heißt ich kann dann - um z.B. Zahlenwerte größer 4 in einer
Matrix von A1:A10 herauszusuchen - anstelle von
{=ANZAHL(WENN(A$1:A$10>4;A$1:A$10))}
Hier würde ich die Matrix-Funktion (keine Matrix!) SUMMENPRODUKT
=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?
Post by Dietmar Vollmeier
{=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?
Post by Dietmar Vollmeier
[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...
--
Traumferienwohnung gesucht? (4**** nach DTV)
Urlaub in der Mecklenburgischen Seenplatte...
www.urlaub-in-sorgenlos.de
Dietmar Vollmeier
2010-02-02 16:06:26 UTC
Permalink
*André Jochim* schrieb am 02.02.2010 um 16:55 Uhr...
Post by André Jochim
Post by Dietmar Vollmeier
Post by André Jochim
Das heißt ich kann dann - um z.B. Zahlenwerte größer 4 in einer
Matrix von A1:A10 herauszusuchen - anstelle von
{=ANZAHL(WENN(A$1:A$10>4;A$1:A$10))}
Hier würde ich die Matrix-Funktion (keine Matrix!) SUMMENPRODUKT
=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*.
Post by André Jochim
Post by Dietmar Vollmeier
{=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
2010-02-02 16:32:52 UTC
Permalink
*André Jochim* schrieb am 02.02.2010 um 16:55 Uhr...
Post by André Jochim
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 ¦
+-----+-----+-----+-----+-----+
Post by André Jochim
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).
Post by André Jochim
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
2010-02-02 16:45:05 UTC
Permalink
Post by Dietmar Vollmeier
Laut deinen Angaben hätte ich jetzt folgende Tabelle
[...]

Ja :-)
Post by Dietmar Vollmeier
Post by André Jochim
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*
Post by Dietmar Vollmeier
Kopiere in E1 folgende Formel und ziehe diese dann soweit wie
=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é
--
Traumferienwohnung gesucht? (4**** nach DTV)
Urlaub in der Mecklenburgischen Seenplatte...
www.urlaub-in-sorgenlos.de
Dietmar Vollmeier
2010-02-02 16:53:42 UTC
Permalink
*André Jochim* schrieb am 02.02.2010 um 17:45 Uhr...
Post by André Jochim
=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.
Post by André Jochim
Dann war das doch schonmal gar nicht so schlecht :-)
Stimmt, ist eigentlich garnicht so schwer.
Post by André Jochim
Danke Dir 1000x
Bitte :)
--
Servus | Nur weil die Klugen immer nachgeben,
Didi | regieren die Dummen die Welt.
Dietmar Vollmeier
2010-02-02 16:47:22 UTC
Permalink
*Dietmar »INGRID« Vollmeier* schrieb am 02.02.2010 um 17:32 Uhr...
Post by Dietmar Vollmeier
=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
Claus Busch
2010-01-31 17:01:57 UTC
Permalink
Hallo André,
Post by André Jochim
Hier noch ein kurzes Beispiel
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
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
Loading...