Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Matrix-Formel um Wenn-Abfrage erweitern
#1
Hallo ihr lieben Menschen.

Ich scheitere gerade an der Kombination einer Matrix-Formel mit einer Wenn Abfrage.

Kurz zur Erläuterung der Aufgabe:

Ich habe in Spalte B von Zeile 1 bis "zum bitteren Ende" Eingaben von Nullen und Einsen.
Immer fortlaufend, sozusagen random, mal eine Eins, mal eine Null.
Abhängig von der Zeile will ich die Summe der letzten x Zellen bilden. Ok, will ich nicht, aber dazu später.
In Zelle F1 lege ich fest, welchen Wert x hat. 
Und das funktioniert auch soweit mit einer Matrix Formel. Und zwar lautet diese:
Code:
={SUMME(BEREICH.VERSCHIEBEN($B$1;ZEILE()-($F$1+1);0;$F$1;1))}

Jetzt summiere ich ja und das ist nicht genau das, was ich will.
Ich will, dass in der jeweiligen Zelle als Ergebnis der Höchstwert 1 ist.
Wenn ich jetzt allerdings folgende Formel nutze, dann stimmen die Ergebnisse nicht mehr
Code:
={WENN(SUMME(BEREICH.VERSCHIEBEN($B$1;ZEILE()-($F$1+1);0;$F$1;1))>=1;1;0)}

Momentan mache ich das alles über eine Hilfsspalte in der ich abfrage, was in der Zelle nebenan steht
und dementsprechend gestalte ich dann die Ausgabe. Dafür angenommen steht die 
Matrix Formel in Spalte D und die folgende Formel dann in Spalte C

Code:
=WENNFEHLER(WENN(B2<>"";WENN(D2>=1;1;WENN(D2<>"";0;""));"");"")

Im ganzen sieht das dann so aus

   

Jetzt hoffe ich, einem von euch kommt der Geistesblitz, wie man die letzte Formel und die erste Formel 
zu einer einzigen Formel machen kann. Ich warte auf diesen Geistesblitz jetzt schon ein paar Tage und
ich kann sagen, wenn man alle D2 in der letzten Formel durch die gesamte erste Formel ersetzt, 
dann wird das nix.

In Hoffnung auf den Geniestreich von einem von euch
LG MacPiet
Antworten Top
#2
Hallo,

wenn du anstelle eines Bildes eine Beispieldatei mit händisch eingetragenem Wunschergebnis zeigst, wird vllt. klarer, was du haben willst. Deine Beispiele müssen aber nicht von F1 bis "zum bitteren Ende" gehen; es reichen 10-15 Datensätze.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
C4: =--(SUMME(B3:INDEX(B:B;ZEILE()-$F$1))>0) allein

oder, wenn beide Spalten gefüllt sind, den Spieß umdrehend:

C4: =MIN(D4;1)
D4: =SUMME(B3:INDEX(B:B;ZEILE()-$F$1))
Antworten Top
#4
Schöne Helfer-Verwirrung.


Code:
=--(SUMME(INDEX(B:B;1/(1/(ZEILE()-$F$1+1))):INDEX(B:B;ZEILE()))>0)
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#5
C1: =--(SUMME(INDEX(B:B;1/(1/(ZEILE()-$F$1+1))):INDEX(B:B;ZEILE()))>0)

ist etwas länger als

C1: =--(SUMME(INDEX(B:B;MAX(1;ZEILE()-$F$1+1)):B1)>0)

Am Zahlenbeispiel sehe ich jedoch statt dessen die Anzahl F1 Zeilen VOR der Formel, nicht inkl. der Formel.
Antworten Top
#6
Vielen Dank erstmal bis hierhin für eure Hilfe.

Ich habe gerade mit einem Freund telefoniert… der heißt Max… und irgendwie dämmerte es mir dann.
Summe war der falsche Weg, wenn ich einen maximalen Wert von Eins haben will, dann ist…
… badumm… tzzzz… die Lösung MAX. Also habe ich jetzt die Formel abgeändert in MAX
Code:
={MAX(BEREICH.VERSCHIEBEN($B$1;ZEILE()-($F$1+1);0;$F$1;1))}

Und das als Matrix Formel bringt genau die Ergebnisse, die ich brauche.

Und jetzt fehlt nur noch das ausklammern der Fehler, wenn die Fehlermeldung #BEZUG kommt.
Ja, die Fehlermeldung ist normal und richtig, weil der zu wertende Bereich in einer Zeile im unter 
Zeile 1 sein müsste. und den gibt es ja bekanntlich nicht.

In angehängter Datei seht ihr nun, wie es sein muss… nur halt mit dem Bezugsfehler. hat da einer eine Idee 
wie man den los wird? sonst würde ich mir den schnappen und via bedingter Formatierung die Schriftfarbe auf weiß ändern.
denn wenn ich die Formel um WENNFEHLER erweitere, dann stimmen die Werte nicht mehr.


.xlsx   Max war es.xlsx (Größe: 10,59 KB / Downloads: 2)

Lieben Dank nochmal und schönen Abend noch
MacPiet
Antworten Top
#7
Die Antworten (insb. shift-del) völlig zu ignorieren finde ich keinen feinen Zug.
Antworten Top
#8
Die Antwort kenne ich schon: Die Ergebnisse stimmen nicht mehr.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • MacPiet
Antworten Top
#9
@LCohen ich wollte jetzt nicht unhöflich erscheinen, es war lediglich der Versuch
lösungsorientiert an die Sache ran zu gehen.
ich habe alle eure Werte bzw. Formeln einmal angetestet, aber es gab leider nicht das 
gewünschte Ergebnis. Dennoch habe ich mich bedankt. Und das meine ich ernst, ich bin dankbar,
dass ihr euch einen Kopp gemacht habt was mein Problem betrifft. 
(Mein Problem, darf ich also behalten).

Zur Erläuterung:
Ich bin in Zelle C6. Ich möchte durch Angabe in Feld F1 x (im Beispiel 5) Zellen über C6
anfangen und bis Zelle C5 alle Zellen untersuchen ob irgendwo eine 1 auftaucht,
Ist dem so, dann möchte ich eine 1 ausgeben, ist keine einzige 1 auffindbar, dann eine 0.

Somit war meine Herangehensweise mit Summe total dämlich, da ich ja den Max Wert 
als Equivalent nehmen kann. Somit fällt das Umrechnen auf 1 aus.

Die gegebenen Lösungsansätze sind echt toll, aber sie gehen davon aus, dass keine
weiteren Einträge gemacht werden.
Ich such(t)e aber einen Weg, auf dem ich in Ziele 6 (um Beim Beispiel mit der 5 zu bleiben)
das Ergebnis aus Zeile 1 bis 5 sehe. In Zeile 7 dann das Ergebnis aus Zeile 2 bis 6 … usw.

Also bitte nicht böse sein. Zum einen verstehe ich mehr als gut, dass das schwer ist, 
sich in das Problem anderer rein zu denken,
zum anderen bitte ich um Entschuldigung für die schwammige Ausdrucksweise.
Ich bin halt schon geraume Zeit "gefangen" in der Aufgabenstellung und es fällt schwer,
auszuformulieren, was mittlerweile (von mir) als selbstverständlich angesehen wird.

LG


 
Antworten Top
#10
(21.08.2018, 18:45)LCohen schrieb: Am Zahlenbeispiel sehe ich jedoch statt dessen die Anzahl F1 Zeilen VOR der Formel, nicht inkl. der Formel.
Nach der nachgeschobenen Erklärung vom Fragesteller hast du recht.
Code:
=MAX(INDEX(B:B;1/(1/(ZEILE()-$F$1))):INDEX(B:B;ZEILE()-1))
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste