2016-08-13 7 views
0

Ich habe eine Zeile mit Zellen mit 1s oder 0s in einer zufälligen Reihenfolge. In der nächsten Zeile habe ich eine Funktion, die das Auftreten einer Zelle ein 1 durch eine Zelle mit einem 0.finden Sie das erste Vorkommen in einer zufälligen Sequenz ausführen

=IF(AND(A2=1,B2=0), "TRUE","FALSE") 

Was enthält enthält, gefolgt findet würde ich tun, um den Wert der Zelle in row1 echo in derselben Spalte, in der in Zeile2 das erste Auftreten einer 1 aufgetreten ist.

 +-----+-----+-----+-----+-----+-----+-----+ 
    |A |B |C |D |E |F |G | 
    +-----+-----+-----+-----+-----+-----+-----+ 
row1 |79.8 |76.4 |78.6 |77.1 |78.9 |71.2 |69.1 | 
    +-----+-----+-----+-----+-----+-----+-----+ 
row2 |0 |1 |1 |1 |0 |1 |0 | 
    +-----+-----+-----+-----+-----+-----+-----+ 
row3 |FALSE|FALSE|FALSE|FALSE|TRUE |FALSE|TRUE | 
    +-----+-----+-----+-----+-----+-----+-----+ 

So in dem obigen Beispiel würde meine Funktion für E2 und G2 TRUE zurück, statt TRUE wenn ich 76,4 für E3 und 71,2 für G3 zurückkehren will da dort der Lauf von 1s begann im Vorfeld die 1 gefolgt von einer 0-Sequenz.

Gibt es eine Möglichkeit, dies in Excel zu erreichen?

Danke!

+0

Durch die Art und Weise: Sie können verkürzen '= IF (AND (A1 = 1, B1 = 0), "TRUE", "false") ' auf '= AND (A1 = 1, B1 = 0) ' –

+0

Hey danke, ich möchte den Wert von B1 zurückgeben. – joshwa

Antwort

1

in Zelle C3 eingeben

=IF(AND(B2=1,C2=0),INDEX(1:1,1,1+LARGE(COLUMN($A2:A2)*($A2:A2=0),1))) 

dann STRG + SHIFT drücken + ENTER es als Matrixformel einzugeben.
Sie können dann Zelle C3 nach D3 kopieren: Z3.

Ergebnis: enter image description here

+0

@Joshwa, wenn Sie wollen, dass ich alles erkläre, fragen Sie einfach, keine Sorgen –

+0

danke für Ihre Hilfe. Siehe Änderungen in der ursprünglichen Frage. Ich möchte die Daten von row1 zurückgeben, wo der Lauf von 1s in row2 gestartet wurde. – joshwa

+0

@Joshwa aktualisiert. –

Verwandte Themen