Как узнать делитель числа в Excel: формулы, примеры и лайфхаки

Если вам нужно найти все делители числа в Microsoft Excel или проверить, делится ли одно число на другое без остатка, стандартные функции таблиц не дают прямого решения. Проблема в том, что Excel не имеет встроенной функции вроде ДЕЛИТЕЛИ(число), но это не значит, что задача невыполнима. Самый быстрый способ — использовать комбинацию функций ОСТАТ (MOD) и ЕСЛИ (IF) для проверки делимости, а для перечисления всех делителей потребуется макрос или творческий подход с массивами.

Например, при попытке определить, делится ли 100 на 7, формула =ОСТАТ(100;7) вернёт 2 — это остаток от деления, который сигнализирует, что 7 не является делителем. А если остаток равен 0, как в случае =ОСТАТ(100;5), то 5 — искомый делитель. Но как автоматизировать поиск всех делителей для произвольного числа? Далее разберём методы от простых до продвинутых, включая обработку отрицательных чисел и дробных делителей.

1. Проверка делимости двух чисел: функция ОСТАТ (MOD)

Базовый метод для определения, является ли одно число делителем другого — использование функции ОСТАТ (или её английский аналог MOD). Она возвращает остаток от деления первого аргумента на второй. Если результат равен 0, то второе число — делитель первого.

Синтаксис функции:

=ОСТАТ(делимое; делитель)

Примеры применения:

  • 🔢 =ОСТАТ(25;5) → вернёт 0 (5 является делителем 25)
  • 🔢 =ОСТАТ(25;3) → вернёт 1 (3 не делит 25 без остатка)
  • 🔢 =ОСТАТ(-18;6) → вернёт 0 (6 делит -18)
⚠️ Внимание: Функция ОСТАТ работает и с отрицательными числами, но результат может сбивать с толку. Например, =ОСТАТ(10;-3) вернёт 1, хотя математически остаток должен быть неотрицательным. Для корректной работы используйте =АБС(ОСТАТ(АБС(10);АБС(3))).

Чтобы автоматизировать проверку, оберните ОСТАТ в функцию ЕСЛИ:

=ЕСЛИ(ОСТАТ(100;7)=0; "Делится"; "Не делится")

2. Поиск всех делителей числа: метод перебора

Чтобы найти все делители заданного числа (например, 100), потребуется перебрать все целые числа от 1 до корня квадратного из этого числа. В Excel это реализуется с помощью столбца с числами-потенциальными делителями и формулы проверки.

Алгоритм действий:

  1. В ячейку A1 введите исходное число (например, 100).
  2. В столбце B (начиная с B1) создайте ряд чисел от 1 до =КОРЕНЬ(A1) (включительно).
  3. В ячейку C1 введите формулу:
    =ЕСЛИ(ОСТАТ($A$1;B1)=0; B1; "")

    и протяните её вниз.

  4. Скопируйте найденные делители в отдельный столбец, исключив пустые ячейки.

Для числа 100 формула вернёт делители: 1, 2, 4, 5, 10, 20, 25, 50. Чтобы получить полный список (включая парные делители, например, 100/25=4), добавьте второй столбец с формулой =ЕСЛИ(C1<>""; $A$1/C1; "").

Число (A1)Потенциальный делитель (B)Формула (C)Результат
1001=ЕСЛИ(ОСТАТ(100;1)=0; 1; "")1
2=ЕСЛИ(ОСТАТ(100;2)=0; 2; "")2
3=ЕСТЬОШИБКА(ЕСЛИ(ОСТАТ(100;3)=0; 3; ""))(пусто)
4=ЕСЛИ(ОСТАТ(100;4)=0; 4; "")4
5=ЕСЛИ(ОСТАТ(100;5)=0; 5; "")5

Создайте столбец чисел от 1 до корня из исходного числа|Примените формулу с ОСТАТ и ЕСЛИ|Отфильтруйте пустые ячейки|Добавьте парные делители (исходное число / делитель)-->

3. Автоматизация с помощью массивов (без VBA)

Для пользователей, не знакомых с макросами, есть способ найти все делители с помощью формул массива. Этот метод требует Excel 365 или 2019 (с динамическими массивами).

Формула для ячейки B1 (если исходное число в A1):

=ФИЛЬТР(ПОСЛЕДОВ(1;A1;1); ОСТАТ(A1; ПОСЛЕДОВ(1;A1;1))=0)

Разбор формулы:

  • 📌 ПОСЛЕДОВ(1;A1;1) — создаёт массив чисел от 1 до значения в A1.
  • 📌 ОСТАТ(A1; ...)=0 — проверяет делимость.
  • 📌 ФИЛЬТР — возвращает только числа, удовлетворяющие условию.

Для старых версий Excel (2016 и ранее) используйте комбинацию CTRL+SHIFT+ENTER для ввода формулы массива:

{=ЕСЛИОШИБКА(ИНДЕКС($B$1:$B$100; НЕЧЁТ(ПОИСКПОЗ(0; ОСТАТ($A$1; $B$1:$B$100); 0))); "")}
⚠️ Внимание: В Excel 2016 и ранее формулы массива могут тормозить при больших диапазонах (например, для чисел > 10 000). Разбейте задачу на части или используйте VBA.

4. Поиск наибольшего общего делителя (НОД)

Если задача — найти не все делители, а только наибольший общий делитель (НОД) двух чисел, используйте встроенную функцию НОД (или GCD в английской версии).

Синтаксис:

=НОД(число1; [число2]; ...)

Примеры:

  • 🔢 =НОД(48; 18) → вернёт 6
  • 🔢 =НОД(100; 75; 50) → вернёт 25
  • 🔢 =НОД(-30; 45) → вернёт 15 (работает с отрицательными числами)

Функция поддерживает до 255 аргументов. Если числа не имеют общих делителей (кроме 1), результат будет 1.

Регулярно|Иногда|Никогда|Не знал о её существовании-->

5. Работа с дробными делителями

Excel позволяет проверять делимость и для дробных чисел, но здесь есть нюансы. Например, если вы хотите узнать, делится ли 10.5 на 3.5, стандартная функция ОСТАТ вернёт 0, так как 10.5 / 3.5 = 3 (целое число). Однако для чисел вроде 10.5 и 3.2 результат будет ненулевым.

Формула для проверки "точной" делимости дробных чисел:

=ЕСЛИ(ОКРУГЛ(делимое/делитель; 10) = ЦЕЛОЕ(делимое/делитель); "Делится"; "Не делится")

Пояснения:

  • 📉 ОКРУГЛ(...; 10) — округляет результат деления до 10 знаков после запятой (для учёта погрешностей вычислений).
  • 📉 ЦЕЛОЕ — отбрасывает дробную часть.
  • 📉 Если значения совпадают, то деление даёт целое число (с учётом погрешности).
⚠️ Внимание: Из-за особенностей представления чисел с плавающей запятой в Excel (стандарт IEEE 754) даже "точные" дроби могут иметь микроскопические погрешности. Например, 1/10 в двоичной системе хранится как бесконечная дробь. Для критических расчётов используйте функцию ТОЧНОЕ.

6. Продвинутые методы: VBA и Power Query

Для обработки больших чисел (например, поиска делителей для 1 000 000) или автоматизации процесса напишите макрос на VBA. Пример кода для вывода всех делителей числа в столбец:

Sub FindDivisors()

Dim num As Long, i As Long, row As Long

num = Cells(1, 1).Value ' Число из ячейки A1

row = 1

For i = 1 To Sqr(num)

If num Mod i = 0 Then

Cells(row, 2).Value = i

If i <> Sqr(num) Then

row = row + 1

Cells(row, 2).Value = num / i

End If

row = row + 1

End If

Next i

End Sub

Альтернатива — Power Query (доступен в Excel 2016+). Алгоритм:

  1. Создайте таблицу с одним столбцом и числом в первой ячейке.
  2. Перейдите на вкладку ДанныеИз таблицы/диапазона.
  3. В редакторе Power Query добавьте пользовательский столбец с формулой:
    = if Number.Mod([Число], [Потенциальный делитель]) = 0 then [Потенциальный делитель] else null
  4. Отфильтруйте пустые значения и загрузите результат обратно в Excel.
Как ускорить поиск делителей для больших чисел

Используйте свойство симметрии делителей: если d — делитель n, то n/d тоже делитель. Это позволяет сократить перебор до √n вместо n.

7. Типичные ошибки и как их избежать

При работе с делителями в Excel пользователи часто сталкиваются с следующими проблемами:

ОшибкаПричинаРешение
Функция ОСТАТ возвращает #ДЕЛ/0!Делитель равен 0.Добавьте проверку: =ЕСЛИ(делитель=0; "Ошибка"; ОСТАТ(делимое; делитель)).
Пропущены делителиДиапазон перебора меньше корня из числа.Увеличьте диапазон до =ОКРВВЕРХ(КОРЕНЬ(число); 0).
Некорректные результаты для отрицательных чиселФункция ОСТАТ возвращает отрицательный остаток.Используйте =АБС(ОСТАТ(АБС(делимое); АБС(делитель))).
Медленная работа формул массиваСлишком большой диапазон (например, 1:100000).Ограничьте диапазон до 1:КОРЕНЬ(число).

Ещё одна распространённая ошибка — игнорирование простых чисел. Если число простое (например, 17), его делителями будут только 1 и оно само. Чтобы проверить простоту числа, используйте формулу:

=ЕСЛИ(И(НОД(ПОСЛЕДОВ(2;A1-1;1);A1)=1; A1>1); "Простое"; "Составное")

FAQ: Частые вопросы о делителях в Excel

Можно ли найти делители числа с плавающей запятой?

Технически да, но математически бессмысленно. Делимость определяется только для целых чисел. Например, 10.5 делится на 3.5 (результат 3 — целое число), но в классическом понимании делители рассматриваются для натуральных чисел. Для дробей используйте проверку на целочисленность результата деления (см. раздел 5).

Как найти все общие делители двух чисел?

1. Найдите НОД чисел с помощью =НОД(число1; число2).

2. Найдите все делители НОД (они будут общими для обоих чисел). Например, для 48 и 18:

=НОД(48;18) → 6.

Делители 6: 1, 2, 3, 6 — это общие делители 48 и 18.

Почему функция ОСТАТ возвращает отрицательное число?

Функция ОСТАТ в Excel следует правилу: знак остатка совпадает с знаком делимого. Например, =ОСТАТ(-10;3) вернёт -1, хотя математически остаток должен быть 2 (так как -10 = 3*(-4) + 2). Чтобы получить положительный остаток, используйте формулу:

=АБС(ОСТАТ(АБС(делимое); делитель))

Как найти количество делителей числа?

1. Найдите все делители (см. раздел 2 или 3).

2. Подсчитайте непустые ячейки с помощью =СЧЁТЗ(диапазон_с_делителями).

Альтернативно для небольших чисел (<1000) используйте формулу массива:

=СУММ(--(ОСТАТ(A1; ПОСЛЕДОВ(1;A1))=0))

(вводится с CTRL+SHIFT+ENTER в Excel 2016 и ранее).

Можно ли найти делители в Google Sheets?

Да, все описанные методы работают и в Google Таблицах, так как синтаксис функций MOD, IF, FILTER и SEQUENCE идентичен. Отличия:

- Нет функции НОД, но есть =GCD.

- Формулы массива вводятся без CTRL+SHIFT+ENTER.

- Для макросов используйте Google Apps Script вместо VBA.