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

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

Author: Xiaoyang Last Modified: 2025-06-05

В 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
Популярные функции: Найти, выделить или отметить дубликаты | Удалить пустые строки | Объединить столбцы или ячейки без потери данных |   Округлить без формулы ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP с несколькими значениями | Многолистовой поиск | Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Избранные функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгами и листами | Библиотека автотекста | Выбор даты | Объединить данные | Шифрование/расшифровка ячеек | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр ячеек с жирным/курсивом/зачёркнутым...) ...
Топ-15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ практических формул (Расчет возраста на основе даты рождения, ...) |19 инструментов вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов для объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое

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


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

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