Перейти к содержимому

Как сгенерировать все простые числа между двумя заданными числами в Excel?

Author: Xiaoyang Last Modified: 2025-08-07

В Excel пробовали ли вы когда-нибудь перечислить все простые числа между двумя заданными числами? В этой статье я расскажу о некоторых интересных методах для выполнения этой задачи.

Генерация всех простых чисел между двумя заданными числами с помощью формул

Генерация всех простых чисел между двумя заданными числами с помощью пользовательской функции


arrow blue right bubble Генерация всех простых чисел между двумя заданными числами с помощью формул

Объединив функцию определения имени и формулы, вы можете перечислить или сгенерировать все простые числа между двумя конкретными числами. Пожалуйста, сделайте следующее:

1. Пожалуйста, создайте первое имя диапазона, нажав Формулы > Имена, и в диалоговом окне «Имена» нажмите кнопку Создать, см. скриншот:

create a range name

2. В диалоговом окне Новое имя в текстовом поле Имя введите rng как имя диапазона, а затем введите эту формулу: =ROW(INDIRECT(Sheet1!$B$1&":"&Sheet1!$B$2)) (Sheet1 — это ваш текущий лист, который вы используете, B1 и B2 — это начальные и конечные числа, которые вы указали) в текстовое поле Ссылается на, затем нажмите кнопку ОК, чтобы вернуться к предыдущему диалогу. См. скриншот:

set options in New Name dialog box

3. Продолжайте нажимать Создать, чтобы создать другое имя диапазона, в диалоговом окне Новое имя введите имя prime в текстовое поле Имя, а затем введите эту формулу: =SMALL(IF(MMULT(--(IF(rng>TRANSPOSE(rng-Sheet1!$B$1+2),MOD(rng,(rng>TRANSPOSE(rng-Sheet1!$B$1+2))*TRANSPOSE(rng-Sheet1!$B$1+2)))=0),rng-Sheet1!$B$1+2)=0,rng),ROW(INDIRECT("1:"&Sheet1!$B$2))) (rng — это первое имя диапазона, которое вы создали на шаге 2) в текстовое поле Ссылается на, см. скриншот:

create another range name

4. Затем нажмите ОК и закройте диалоговые окна, выберите столбец, в котором вы хотите перечислить все простые числа, и введите эту формулу: =IFERROR(prime," ") (prime — это имя диапазона, которое вы создали на шаге 3) в строку формул, а затем нажмите клавиши CTRL + SHIFT + ENTER вместе, все простые числа между заданными двумя числами будут перечислены, как показано на следующем скриншоте:

apply a formula to get all prime numbers between two numbers



arrow blue right bubble Генерация всех простых чисел между двумя заданными числами с помощью пользовательской функции

Если первый метод кажется несколько сложным, здесь вы можете применить пользовательскую функцию для его решения.

1. Удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Нажмите Вставить > Модуль и вставьте следующий код в окно модуля.

VBA код: Генерация всех простых чисел между двумя конкретными числами:

Function PRIME(St, En As Long)
'Updateby Extendoffice 20160613
Dim num As String
For n = St To En
    For m = 2 To n - 1
        If n Mod m = 0 Then GoTo 20:
    Next m
    num = num & n & ","
20:
Next n
PRIME = num
End Function

3. Затем сохраните и закройте этот код, вернитесь на лист, пожалуйста, введите эту формулу: =prime(10,100) (10 — это начальное число, а 100 — это конечное число, между которыми вы хотите получить простые числа, вы можете изменить их по своему усмотрению), а затем нажмите клавишу Enter, и все простые числа будут отображены в одной ячейке, см. скриншот:

generate all prime numbers between two numbers with vba code

Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Переворот в анализе данных на основе: Интеллектуальное выполнение   |  Сгенерировать код  |  Создать Пользовательские Формулы  |  Анализ данных и генерация диаграмм  |  Вызов Kutools Functions
Популярные функции: Найти, выделить или отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячейки без потери данных   |   Округлить...
Супер ПОИСК: VLookup с несколькими критериями    VLookup с несколькими значениями  |   Многолистовой поиск   |   Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскр. список   |  Зависимый раскрывающийся список   |  Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки   |  Дизайн листа   |   Улучшенная строка формулы    Управление книгой и листами   |  Библиотека автотекста (Auto Text)   |  Выбор даты   |  Объединить данные   |  Шифрование/Расшифровка ячеек    Отправить письмо по списку   |  Супер фильтр   |   Специальный фильтр (фильтр по жирному/курсиву/зачеркиванию...) ...
Топ–15 наборов инструментов: 12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...)   |   50+ типов диаграмм (Диаграмма Ганта, ...)   |   40+ практических формул (Расчет возраста на основе даты рождения, ...)   |   19 инструментов вставки (Вставить QR-код, Вставить изображение из пути, ...)   |  12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...)   |  7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...)   |   ... и многое другое
Используйте Kutools на вашем предпочитаемом языке – поддерживаются английский, испанский, немецкий, французский, китайский и более40 других языков!

Повысьте свои навыки работы в Excel с Kutools для Excel и ощутите новую эффективность. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени.  Щелкните здесь, чтобы получить наиболее нужную вам функцию...


Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!