
Ich habe eine Tabelle mit Tausenden von Zahlensätzen. Das heißt, es gibt zehn Spalten und jede Spalte hat eine Zahl – und es gibt Tausende von Zeilen mit diesen Zahlen.
Ich möchte prüfen, ob die Zahlen in jeder Zeile ansteigen oder nicht. Stellen Sie sich beispielsweise Zeile eins vor (wobei jede Zahl eine separate Spalte ist):
13. 17. 25. 37. 39. 40. 53. 61. 68. 71
Wie Sie sehen, steigen die Zahlen alle an. Stellen wir uns nun vor, dies sei die zweite Zeile:
13 5. 3. 18. 34. 17. 49. 83. 63. 71
In diesem Fall sind die Anfangs- und Endzahlen dieselben wie in der ersten Zahlenreihe, der eingeschlagene Weg ist jedoch ein völlig anderer.
Was ich möchte, ist eine Formel zur Beurteilung, wie kontinuierlich das Wachstum ist.
Irgendwelche Ideen?
Antwort1
=IFERROR(IFS(B6<A6,FALSE,C6<B6,FALSE,D6<C6,FALSE,E6<D6,FALSE,F6<E6,FALSE,G6<F6,FALSE,H6<G6,FALSE,I6<H6,FALSE,J6<I6,FALSE),TRUE)
Ich glaube, das wäre der einfachste Weg, es zu tun.
IFS vergleicht jede Zahl mit der vorherigen Zahl. Wenn sie niedriger als die vorherige ist, wird FALSE zurückgegeben.
Wenn alle Zahlen größer als die vorherige Zahl sind, erzeugt IFS keine Ausgabe, was zu einem NA-Fehler führt.
ISERROR wandelt den NA-Fehler in TRUE um, was bedeutet, dass alle Zahlen ansteigen.
So ermitteln Sie, wie viele Zahlen größer sind als die vorherige Zahl in der Folge:
=COUNTIF(B11,">" & A11)+COUNTIF(C11,">" & B11)+COUNTIF(D11,">" & C11)+COUNTIF(E11,">" & D11)+COUNTIF(F11,">" & E11)+COUNTIF(G11,">" & F11)+COUNTIF(H11,">" & G11)+COUNTIF(I11,">" & H11)+COUNTIF(J11,">" & I11)
Bei jeder Zählung wird die aktuelle Zahl mit der vorherigen Zahl verglichen. Es wird nur gezählt, wenn die Zahl größer ist. Anschließend werden alle Zählvorgänge zusammengezählt.
Antwort2
Sie können hierzu Arrayformeln verwenden:
Angenommen, Ihre Daten befinden sich in A1:J1
, geben Sie die folgende Formel in eine Zelle ein =AND(B1:J1>A1:I1)
und drücken Sie Ctrl+ Shift+ Enter, um eine Arrayformel zu erstellen. Beachten Sie, dass Excel die Formel automatisch umschließt {}
(Sie können den Umbruch nicht manuell vornehmen!). In Google Sheets können Sie ArrayFormula
innerhalb der AND
Funktion anstelle der Excel-Verknüpfung verwenden: AND(ArrayFormula(B1:J1>A1:I1))
.
Dadurch werden elementweise Berechnungen von durchgeführt >
und anschließend überprüft, ob sie alle wahr sind. Beachten Sie, dass die beiden Bereiche um eine Zelle versetzt sind, aber dieselbe Länge haben. Daher werden B1
und verglichen, und verglichen, und so weiter. Anschließend wird das resultierende Array an übergeben, um zu überprüfen, ob sie alle wahr sind.A1
C1
B1
AND
Nachdem die Array-Formel für die erste Zeile eingefügt wurde, können Sie (sofern Sie mehrere Zeilen haben) die Formel einfach für jede Zeile nach unten ziehen.
Wenn Sie aus irgendeinem Grund keine Arrays verwenden möchten, können Sie dies auch tun, indem Sie unterhalb oder neben (oder um ehrlich zu sein irgendwo anders) der Zahlenliste einen weiteren Zellbereich hinzufügen. In diesem zusätzlichen Zellbereich können Sie den Vergleich der einzelnen Zellen durchführen.
Beginnen Sie mit den Daten bei A1
und fügen Sie dann beispielsweise in Zelle B2
die Formel hinzu. Ziehen Sie die Formel dann so, dass sie der Breite der Daten entspricht (Formeln aktualisieren Referenzen automatisch). Abschließend müssen Sie nur noch prüfen, ob alle diese Zellen wahr sind . (B1 > A1)
Dies können Sie mit tun.AND(B2:J2)
Antwort3
Da Sie Google-Tabellen markiert haben, können Sie ArrayFormula
dies auch in einer Formel vereinfachen:
=AND(ARRAYFORMULA(B1:J1>A1:I1))
Bei einer Änderung der Zeilenanzahl können Sie die J1
und entsprechend anpassen.I1
Wenn alle Spalten auf der rechten Seite leer sind, können Sie Folgendes tun: =AND(ARRAYFORMULA((B1:Z1>A1:Y1)+(ISBLANK(B1:Z1))))
Dies funktioniert automatisch für bis zu 26 Spalten, solange die folgenden Spalten leer sind.
Antwort4
Diese Antworten funktionieren, wenn Siedynamische Arrayformelnin Ihrer Excel-Version verfügbar.
Neue, einfachere Antwort:
Sie können eine dynamische Array-Formel verwenden, um zu überprüfen, ob jedes Element streng kleiner als ein Element in einem anderen Array ist.
=AND((A1:I1) < (B1:J1))
Das ist schön und einfach und bedeutet im Grunde „ist“ A1 < B1
und B1 < C1
so weiter bis zum Ende des Arrays.
Der Trick besteht darin, dass wir die beiden Listen versetzen, sodass wir jedes Element mit dem nächsten Wert im ursprünglichen Array vergleichen.
Wir vergleichen also A1:I1
– B1:J1
das erste Array reicht vom ersten bis zum vorletzten Element und das zweite Array reicht vom zweiten bis zum letzten Element.
Ursprüngliche Antwort:
Wenn die Liste in geordneter Reihenfolge sein darf >=
(im Gegensatz zu streng >
), 1, 2, 3, 3, 4
ist auch „if“ gültig.
Sie können die Werte sortieren und die sortierten Werte mit den Originalwerten vergleichen.
Wenn die ursprünglichen Werte in aufsteigender Reihenfolge sind, entspricht die sortierte Liste der ursprünglichen Liste.
Dadurch wird nach Spalten sortiert, jeder Wert wird verglichen und AND()
die Liste wird dann zu einem einzelnen Ergebnis zusammengefasst:
=AND(SORT(A1:J1,1,1,TRUE)=A1:J1)
Wenn Sie eine einzelne Datenspalte vergleichen, ist es etwas einfacher:
=AND(SORT(A1:A10)=A1:A10)