У Алека есть диапазон ячеек, который может содержать как целые (23), так и десятичные (23,4) значения. Ему нужна формула, которая вернет минимальное значение только целых чисел в пределах диапазона. Любое десятичное число в пределах диапазона должно полностью игнорироваться формулой. Это должна быть формула; макрос не годится для нужд Алека.

Если вы не против использования вспомогательного столбца, вы можете легко выяснить, является ли значение целым числом или нет. Все, что вам нужно сделать, это использовать такую ​​формулу во вспомогательном столбце:

=IF(A1=INT(A1),A1,"")

В итоге вы получаете только целые числа с десятичными значениями, замененными пробелами. Затем вы можете использовать функцию MIN в вспомогательном столбце, чтобы определить минимум этих целочисленных значений.

Если вы не можете использовать вспомогательный столбец, лучше всего использовать формулу массива. Предположим на мгновение, что ваш диапазон ячеек — A1: A100. Вы можете использовать любую из следующих формул:

=MIN(IF(INT(A1:A100)=A1:A100,A1:A100))

Помните, что это формула массива. Это означает, что вы не должны вводить его, нажимая Enter, вместо этого следует использовать Ctrl + Shift + Enter.

Если вы предпочитаете не использовать формулы массива и используете Excel 2010 или более позднюю версию, вы можете использовать формулу, основанную на функции АГРЕГАТ:

=AGGREGATE(15,6,A1:A100/(A1:A100=INT(A1:A100)),1)

Различные параметры, которые можно использовать с функцией AGGREGATE, слишком много, чтобы их перечислять здесь, но в данном случае первый параметр (15)

указывает, что вы хотите применить функцию МАЛЕНЬКИЙ, второй параметр (6)

указывает, что вы хотите, чтобы значения ошибок игнорировались, третий параметр — это массив для оценки, а четвертый параметр (1) указывает, что мы хотим получить первый результат для SMALL.

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (655) применим к Microsoft Excel 2007, 2010, 2013 и 2016.