
Angenommen, ich habe eine Liste mit Werten wie 3.67
, 15.89
, 8.58
, 1.14
, und 9.69
in 5 verschiedenen Zellen. Wie hebe ich das hervor, 15.89
da es einer Ganzzahl am nächsten kommt?
Antwort1
Angenommen, Ihre Daten befinden sich in den Zellen A1:A5, geben Sie in Zelle B1 die folgende Formel ein und füllen Sie sie bis Zelle B5 aus:
=IF(MOD(A1,1)<0.5,MOD(A1,1),1-MOD(A1,1))
Geben Sie nun in Zelle B6 die folgende Formel ein:
=INDIRECT("A"&MATCH(SMALL(B1:B5,1),B1:B5,0)+0)
Damit haben Sie die Antwort. Wenn Ihre Daten tatsächlich beispielsweise in Zeile 7 beginnen, müssen Sie die Bereiche entsprechend aktualisieren und auch das Ende der zweiten Formel von +0
in ändern +6
.
Wir verwenden die Modulo-Funktion nur, um den Dezimalwert zu finden... wenn die Dezimalzahl istunter0,5, dann speichern wir diesen Wert; wenn esüber0,5 subtrahieren wir von 1: Dadurch werden die Zahlen vergleichbar. Anschließend sucht die Zusammenfassungsformel nach dem kleinsten Ergebnis in Spalte B und verwendet die Zeile der Ergebniszelle, um den Wert der Spalte A zurückzugeben.
Antwort2
Ich habe keinen direkten Zugriff auf Excel, um diese Lösung mit bedingter Formatierung zum Hervorheben der Zelle zu testen, aber hier ist der Teil zum Identifizieren des Werts, der einer Ganzzahl am nächsten kommt.
Ihre Werte stehen in Spalte A und die Identifikation des nächstgelegenen Werts in Spalte B. Sie können dies nach Bedarf anpassen.
Die Lösung ist eine Array-Formel, geben Sie daher alles außer den Klammern mit Ctrl Shift Enterstatt ein Enter.
Die Formel in B1 lautet:
=ABS(A1-ROUND(A1))=MIN(ABS($A$1:$A$5-ROUND($A$1:$A$5)))
Copy and paste as needed. It compares the absolute difference between the value and its closest integer against the minimum for the range. If the difference matches the minimum, it returns True. So the result can be used as a test condition, or the basis to display, say, either a blank or some text for the closest one.