2017-10-25 12 views
1
konvertieren

Ich habe eine große Reihe von Zahlen, die ich auf eine Skala von 0 bis 10 konvertieren möchte.wie Zahlenreihen in 0 bis 10 Bereich

I verwendet, um die folgende Formel, um den Maximalwert 10 und Minimalwert auf 0 gesetzt, jedoch

=IF(A1="-","0",MIN(MAX((A1-MIN(A:A))/((MAX(A:A)-MIN(A:A))/11),0),10)) 

zu konvertieren, I stellen einige Probleme, die Serie Umwandeln wo Maximalwert 0 und dem Minimalwert sollte 10 sein sollten ,

dann sollten 8 haben einen Wert von 0 ist. wenn beispielsweise der Spalte A, die Werte besitzt eine nd 1 sollte einen Wert von 10 haben.

Danke!

+1

'= 10-IF (A1 =" - "," 0 ", MIN (MAX ((A1-MIN (A: A))/((MAX (A: A) -MIN (A: A))/11), 0), 10)) "? – jsheeran

+1

Ja, aber warum teilt sich OP durch 11? Sollte es nicht 10 sein? –

+0

Danke, @jsheeran. Da ich fehlende Werte in die Berechnung mit einbeziehe, habe ich eine kleine Änderung an Ihrer vorgeschlagenen Formel vorgenommen, die für mich zu funktionieren scheint. = IF (A1 = "-", "0", 10-MIN (MAX ((A1-MIN (A: A))/((MAX (A: A) -MIN (A: A))/10), 0), 10)) – user8830445

Antwort

4

Verwenden Sie einfach die Formel = 10-B1, wobei B1 die Zelle ist, die Ihre erwähnte Formel enthält.

Bitte beachten Sie jedoch, dass die Formel folgende Fehler hat:

  1. Es ist falsch. Wenn Sie es mit den drei Zahlen 1,2,3 testen, erhalten Sie 5,5 für den Wert, der 2 entspricht. Offensichtlich sollte die richtige Antwort 5 sein. Dieser Fehler wird durch die Nummer 11 verursacht, die Sie verwenden, um die (MAX: (A: A) -MIN (A: A)). Ändern Sie es in 10 und alles wird funktionieren!

  2. Es gibt # DIV/0 zurück! wenn Sie nur eine Zahl in Spalte A haben.

  3. Sie ist ineffizient, weil sie die zeitaufwändigen Funktionen MAX (A: A) und MIN (A: A) in jeder Zelle mit dieser Formel aufruft. Da diese beiden Funktionen nicht von der Formel-enthaltenden Zelle abhängig sind, sollten Sie sie nur einmal in anderen Zellen verwenden und anschließend Ihre Formel so ändern, dass sie Verknüpfungen zu diesen externen Zellen und nicht die Funktionen selbst enthält.

  4. Es ist kaum wartbar und/oder lesbar. Ich brauchte eine Weile, um zu verstehen, wie Ihre Formel funktioniert. Ziehe es in sinnvolle Stücke, lege die Stücke in separate Zellen und verbinde die Stücke schließlich in einer endgültigen - und viel kleineren - Formel.

  5. Es ist unnötig verschachtelt. Es gibt eine viel einfachere Formel das gleiche zu erreichen, basierend auf dem folgenden:

= 10 * B1/C1,

wo B1 den "Abstand vom Minimum" enthält, dh A1-MIN (A: A), und C1 enthält die Gesamtlänge Ihres Zahlenbereichs, dh MAX (A: A) -MIN (A: A)

+0

Danke, Tom. Diese 11 war ein Fehler, änderte sie in 10. Einige Überlegungen hinter der Verwendung dieser Formel: Ich habe mehrere Spalten, die ich von 0 bis 10 normalisieren muss. Für einige Spalten "höhere Werte = besser" und für den Rest "niedrigere Werte = besser ".Ich wollte auch 0 (den niedrigsten Wert) leeren Zellen/Zellen ohne einen Wert zuweisen. Das Einfügen dieser Formel in Spalten, die neben denen liegen, die ich konvertieren muss, macht es mir ein bisschen leichter. Hoffnung, die Sinn macht. – user8830445

Verwandte Themen