möglichkeit mit Matrixformel

Bild

Betrifft: möglichkeit mit Matrixformel
von: chris b
Geschrieben am: 27.02.2005 10:42:49
Hallo Excel Spezialisten,
habe folgende frage an euch und würde mich freuen wenn ihr mir wieder einmal helfen könntet.
Habe eine Tabelle wie unten im Beispiel aufgebaut.
Habe folgende Formel in Zelle B11 "=INDEX(B:B;VERGLEICH(C11;C:C;0))"
Ist es möglich dafür eine Array Formel zu bauen ?
Vielen Dank für eure Hilfe
Besten grüße und schönen Sonntag, Chris


      
A     B     C     
2     Datum     Zahl     
3     01.01.2005     10     
4     02.01.2005     20     
5     03.01.2005     35     
6     04.01.2005     1     
7     05.01.2005     22     
8     06.01.2005     34     
9                 
10             
11     03.01.2005     35     
 

     Code eingefügt mit Syntaxhighlighter 3.0

Bild

Betrifft: Und wozu?
von: Boris
Geschrieben am: 27.02.2005 10:49:01
Hi Chris,
...möchtest du es unnötig verkomplizieren? Deine Formel ist doch völlig ok...
Grüße Boris
Bild

Betrifft: AW: dazu
von: chris b
Geschrieben am: 27.02.2005 10:50:42
Ich benötige weder die noch die. Ich bin nur gerade dabei zu lernen mit Matrix formeln umzugehen.
Deshalb würde ich mich über hilfe mehr freuen !
Bild

Betrifft: AW: dazu
von: Boris
Geschrieben am: 27.02.2005 10:57:25
Hi Chris,
na ja, dann z.B. so:
{=INDEX(B1:B10;MAX((C1:C10=C11)*ZEILE(1:10)))}
Grüße Boris
Bild

Betrifft: AW: dazu
von: chris b
Geschrieben am: 27.02.2005 10:59:00
Danke klappt wunderbar.
Versteh zwar noch nicht ganz die Logik dieser Formeln aber komm schon noch dahinter :)
Bild

Betrifft: Arrayformeln nachvollziehen
von: Boris
Geschrieben am: 27.02.2005 11:02:46
Hi Chris,
in diesem Zusammenhang gibt es die wunderbare Möglichkeit, einzelne Formelteile in der Bearbeitungsleiste zu markieren und dann mit F9 auszuwerten.
Das hilft ungemein für das Verständnis.
In diesem Beispiel:
B1:B10
(C1:C10=C11)
ZEILE(1:10)
Also: Wie angegeben einzeln markieren und dann F9. Probier mal ein bisschen rum...
Viel Spaß!
Grüße Boris
Bild

Betrifft: AW: Arrayformeln nachvollziehen
von: chris b
Geschrieben am: 27.02.2005 11:05:34
Danke Boris.
Habe damit schon etwas rumprobiert.
Bekomme dann immer wahr und falsch und so aber etwas fehlt noch zum verständniss genauso wie bei der formelart "summenprodukt" aber wird schon noch danke dir !!!
Bild

Betrifft: AW: Arrayformeln nachvollziehen
von: chris b
Geschrieben am: 27.02.2005 11:08:58
Habe die formel jetzt mal aufgesplittet hier gepostet.
=INDEX({"B";"Datum";38353;38354;38355;38356;38357;38358;" ";0};MAX({FALSCH;FALSCH;FALSCH;FALSCH;WAHR;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH}*{1;2;3;4;5;6;7;8;9;10}))

a riesen ding :) Aber erkennen kann ich da noch keinen zusammenhand wie ich auf das ergebniss komme.
Aber heute ist Sonntag deshalb vieleicht :) danke trotzdem Boris
Bild

Betrifft: Du bist doch schon kurz vor dem Ziel...
von: Boris
Geschrieben am: 27.02.2005 14:27:09
Hi Chris,
=INDEX({"B";"Datum";38353;38354;38355;38356;38357;38358;" ";0};MAX({FALSCH;FALSCH;FALSCH;FALSCH;WAHR;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH}*{1;2;3;4;5;6;7;8;9;10}))
Jetzt musst du nur noch die beiden Matritzen multiplizieren:
{FALSCH;FALSCH;FALSCH;FALSCH;WAHR;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH}*{1;2;3;4;5;6;7;8;9;10}
Und da FALSCH = Null und WAHR = 1 entspricht, ergibt das (markiert und mit F9 berechnet):
{0;0;0;0;5;0;0;0;0;0}
Und weil diese Matrix mit der Funktion MAX umrandet ist, wird daraus das Maximum ermittelt:
=MAX({0;0;0;0;5;0;0;0;0;0})
Na ja - und das ist eben 5.
Und diese Zahl (5) wird an die Funktion INDEX übergeben:
INDEX({"B";"Datum";38353;38354;38355;38356;38357;38358;" ";0};5)
Also der 5. Wert aus der Matrix - das ist hier 38355 - und als Datum formatiert der 03.01.2005.
Alles klar?
Grüße Boris
Bild

Betrifft: AW: Du bist doch schon kurz vor dem Ziel...
von: chris b
Geschrieben am: 27.02.2005 17:58:46
Jo klar Boris.
hab ich so ziemlich verstanden.Super Erklärung !! Vielen dank noch einmal und noch schonen Sonntag :)
Grüße Chris
Bild

Betrifft: AW: Du bist doch schon kurz vor dem Ziel...
von: chris b
Geschrieben am: 27.02.2005 18:11:47
Hallo Boris, eine frage noch
Wäre super wnen du mir noch mal helfen könntest.
Und zwar habe hier noch eine Matrix Formel.
Diese auch das macht was sie machen soll.
Aber wie und was wird hier summiert ??Odre multipliziert ?
=SUMME(WENN(C4:C9="";0;1))
Danke Boris
Bild

Betrifft: AW: Du bist doch schon kurz vor dem Ziel...
von: Tim
Geschrieben am: 27.02.2005 20:40:25
Es wird summiert, wenn der Zellwert im Bereich = 1 ist.
Tim
Bild

Betrifft: Da bist du aber schief gewickelt...oT
von: Boris
Geschrieben am: 27.02.2005 20:49:24

Bild

Betrifft: AW: Du bist doch schon kurz vor dem Ziel...
von: Boris
Geschrieben am: 27.02.2005 20:47:40
Hi Chris,
die Formel selbst könnte man ja einfach mit ANZAHL2 nachbilden - aber des Lernens wegen:
 
 CD
413
5 =SUMME(WENN({FALSCH;WAHR;FALSCH;WAHR;WAHR;FALSCH};0;1))
67=SUMME({1;0;1;0;0;1})
7 =3
8  
95 
Formeln der Tabelle
D4 : {=SUMME(WENN(C4:C9="";0;1))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  

C4:C9 wird auf "" (nix) überprüft. Stimmt das, dann Null, ansonsten 1. Und die Summe der Einser ergibt dann die Anzahl der gefüllten Zellen. Also: Es wird gezählt - und das Summieren von Einsern ist nix anderes als Zählen.
Grüße Boris
Bild

Betrifft: AW: Du bist doch schon kurz vor dem Ziel...
von: chris b
Geschrieben am: 27.02.2005 21:04:55
Danke Boris !!!!
 Bild

Beiträge aus den Excel-Beispielen zum Thema "möglichkeit mit Matrixformel"