2016-04-14 8 views
0

Ich hoffe, eine Lösung für das folgende Problem zu finden. Betrachten Sie eine Spalte von Zahlen in der folgenden Reihenfolge:Finden Sie einen bestimmten Anstieg zwischen zwei Zellen in der Spalte der Zahlen

{2,2,2,2,4,4,4,4,7,7,7,7,8,8,13,13,13,13 , 13}

Jetzt möchte ich überprüfen, ob in dieser Reihenfolge zu einem bestimmten Zeitpunkt, ist eine bestimmte Zunahme in der Reihenfolge. Also, wenn ich nach einer Erhöhung von 5 suche, bemerke ich, dass zwischen 8 und 13 die Sequenz um 5 zunimmt.

Ich habe zwei mögliche Lösungen im Hinterkopf, aber ich kann nicht scheinen, eine Art eleganter Weg zu finden dies ohne VBA zu erreichen.

Lösung 1: Holen Sie sich die eindeutigen Werte aus der Liste und nehmen Sie den Unterschied zwischen den Zahlen und sehen, ob 5 drin ist.

Lösung 2: Subtrahiere den ersten Wert bis zum (N - 1) ten Wert vom zweiten bis N-ten Wert und sieh, ob 5 drin ist.

Ich hoffe auch, den Code in eine Zelle passen!

Jede Hilfe würde sehr geschätzt werden.

+0

Einige Fragen zur Klärung: Erwarten Sie, dass die Sequenz in der Größe schwankt? Wird die Sequenz über Spalten oder in einer einzelnen Zelle verteilt? Müssen Sie nur ein Ergebnis (d. H. 1 oder 0) auslösen, wenn eine Differenz von 5 oder mehr festgestellt wird, oder möchten Sie eine Abweichung von 5 oder mehr zählen? – AranDG

+0

Die Reihenfolge schwankt tatsächlich in der Größe. Es wird über eine Spalte verteilt (von einer variablen Anzahl von Zeilen). Das Ergebnis kann in der Tat eine Null oder 1 sein! – Michael

+0

Sorry, was meinst du mit einer variablen Anzahl von Zeilen? Also würde in Ihrem Beispiel oberhalb der Array {2,2,2,2,4,4,4,4,7,7,7,7,8,8,13,13,13,13,13} in der Zelle sein A1 (zum Beispiel), mit dem Ergebnis der Formel in Zelle B1. Würde A2 ein völlig anderes Array haben, mit dem Ergebnis B2, oder müssen Sie A2 mit A1 vergleichen? – AranDG

Antwort

2

Sie Daten Unter der Annahme, ist in Spalte A, dann ist die Formel

{=OR(($A$2:$A$20001-$A$1:$A$20000)=5)} 

wird TRUE erhalten, wenn es einen Anstieg von 5 zwischen zwei Zellen in $A$1:$A$20000 ist.

Dies ist eine Array-Formel. Geben Sie es ohne die geschweiften Klammern in die Zelle ein und drücken Sie [Strg] + [Umschalt] + [Eingabetaste] zur Bestätigung. Die geschweiften Klammern sollten dann automatisch erscheinen.

+0

Danke! Das hat perfekt funktioniert! – Michael