Предположим, у меня есть список значений, таких как 3.67
, 15.89
, 8.58
, 1.14
и 9.69
в 5 разных ячейках. Как выделить 15.89
так как он ближе всего к целому числу?
2 ответа
Предполагая, что ваши данные находятся в ячейках A1:A5, в ячейке B1 введите следующую формулу и заполните до B5:
=IF(MOD(A1,1)<0.5,MOD(A1,1),1-MOD(A1,1))
Теперь в ячейку B6 введите следующую формулу:
=INDIRECT("A"&MATCH(SMALL(B1:B5,1),B1:B5,0)+0)
Это даст вам ответ. Если ваши данные действительно начинаются, скажем, со строки 7, то вам нужно будет соответствующим образом обновить диапазоны, а также изменить конец второй формулы с +0
до +6
.
Мы используем функцию по модулю, чтобы найти только десятичное значение ... если десятичное число меньше 0,5, то мы сохраним это значение; если оно больше 0,5, мы вычтем его из 1: это делает числа сопоставимыми. Затем итоговая формула ищет наименьший результат в столбце B и использует строку ячейки результата, чтобы вернуть значение столбца A.
У меня нет готового доступа к Excel для тестирования с использованием этого решения с условным форматированием, чтобы выделить ячейку, но вот фрагмент для определения значения, ближайшего к целому числу.
Ваши значения находятся в столбце A, а определение ближайшего - в столбце B. Вы можете адаптировать это по мере необходимости.
Решением является формула массива, поэтому введите все, кроме фигурных скобок, с помощью Ctrl Shift Enter вместо Enter.
Формула в B1:
=ABS(A1-ROUND(A1))=MIN(ABS($A$1:$A$5-ROUND($A$1:$A$5)))
Скопируйте и вставьте по мере необходимости. Он сравнивает абсолютную разницу между значением и ближайшим целым числом с минимумом для диапазона. Если разница соответствует минимуму, возвращается True. Таким образом, результат может быть использован как условие проверки или как основа для отображения, скажем, пустого или некоторого текста для ближайшего.