Bereichszuordnung in Excel

2

Ich habe eine Datenspalte in Excel mit Zahlen [0..100]. Ich benötige eine neue Spalte, die diese einem neuen Satz von Werten zuordnet, so dass:

  • & gt; 90: 4
  • 80-90: 3
  • 70-79: 2
  • 60-69: 1
  • & lt; 60: 0

Ich habe versucht, dies mit zu tun VLOOKUP speziell mit einem Testeingang von 77 und der Funktionsaufruf VLOOKUP(77, A10:B19, 2, TRUE), wobei A10 das obere linke Element in diesem Bereich ist:

99   4
90   4
89   3
80   3
79   2
70   2
69   2
60   1
59   0
0    0

Ich erhalte jedoch ein Ergebnis von #N/A. Laut Dokumentation liegt dies daran

... der Wert im lookup_value ist kleiner als der kleinste Wert in   die erste Spalte des table_array ...

Dies ist jedoch eindeutig nicht der Fall, da ich 77 übergebe. Allerdings, wenn ich einen Testeingang von verwende 79Ein Wert, der explizit in der Nachschlagetabelle steht. Ich erhalte ein korrektes Ergebnis.

Ist VLOOKUP hier der falsche Ansatz? Was ist der beste Weg, um diese Art von Mapping durchzuführen?

Ich sollte erwähnen, dass sowohl mein Eingabewert als auch meine Nachschlagetabelle als Zahl eingegeben werden.

Justin R.
quelle

Antworten:

1

Nachdem ich mich lange damit beschäftigt hatte, stellte ich fest, dass die Nachschlagetabelle aufsteigend sortiert werden muss. In der Dokumentation wird darauf hingewiesen, dass sortiert werden muss, die Sortierreihenfolge jedoch nicht angegeben wurde. Alles andere als aufsteigende Reihenfolge ergibt die #N/A Error.

Justin R.
quelle
1

Wenn Sie Index / Match anstelle von Vlookup verwenden, können Sie die Nachschlagetabelle absteigend sortieren, wie in Ihrer Frage angegeben. Die Formel lautet

=INDEX(B1:B10,MATCH(77,A1:A10,-1))

Eine Übereinstimmung mit -1 als drittem Parameter gibt einen Wert zurück, der größer oder gleich dem Nachschlagewert ist, wenn die Tabelle absteigend sortiert wird.

teylyn
quelle