Ich muss den zweitniedrigsten EINDEUTIGEN Wert ohne die Null und ohne alle doppelten Werte erhalten.
Dies ist ein Beispiel meiner Daten:
0
1
1
3
2
4
5
Der Wert, den ich brauche, ist 2
Antwort1
Hier ist eine Lösung mit Unterstützungszellen. Auf diese Weise ist die Logik leichter zu erkennen. Sie können jedoch natürlich alles in einer Formel kombinieren.
=COUNTIF(A1:A7,0)
- Anzahl der Zellen zählen, die enthalten0
=COUNTIF(A1:A7,SMALL(A1:A7,D1+1))
- Zählen Sie die Anzahl der Zellen mit dem kleinsten Wert (ausgenommen0
)=SMALL(A1:A7,D1+D2+1)
- der zweitkleinste Wert
Die große Formel würde folgendermaßen aussehen:
=SMALL(A1:A7,COUNTIF(A1:A7,0)+COUNTIF(A1:A7,SMALL(A1:A7,COUNTIF(A1:A7,0)+1))+1)
Antwort2
Es hängt davon ab, wie Sie es machen möchten, aber so geht es: Verwenden Sie diesen Screenshot als Beispiel (ich habe Ihr Beispiel genommen, aber 3 als zweitniedrigsten Wert verwendet …)
Angenommen, Sie haben immer Nullen, ansonsten besteht eine schnelle Möglichkeit darin, eine Null hinzuzufügen ... oder weitere Tests hinzuzufügen ...
- Ordnen Sie Ihre Spalte mit den Zahlen von A->Z (vom niedrigsten Wert zum höchsten)
- fügen Sie links davon eine Spalte mit dem folgenden Code hinzu
=IF(F7>F6;1;0)+E6
- in einer Zelle mit einem VLookup nach dem zweiten Wert suchen
=VLOOKUP(2;E6:F13;2;TRUE)
Sie fügen die Spalte links von der Datenspalte hinzu, weil Sie die Nachschlagefunktion benötigen
Sie können auch direkt einen Test auf die erhaltenen Werte anwenden, WENN 2, dann geben Sie den Wert zurück und filtern die Spalte nach diesem Wert oder berechnen Sie die Summe der Spalte in einer Zelle (da es nur einen Wert gibt, wird der Wert zurückgegeben).
Ich hoffe das hilft
PS: Möglicherweise müssen Sie in der Formel Kommas statt „;“ verwenden.
Antwort3
Du könntest es versuchen:
=IFERROR(AGGREGATE(15,6,1/(1/((COUNTIF(A2:A8,A2:A8)=1)*A2:A8)),2),MAX(A2:A8))