Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

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

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

Произведите все простые числа между двумя заданными числами с формулами

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


arrow синий правый пузырь Произведите все простые числа между двумя заданными числами с формулами


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

1, Создайте первое имя диапазона, нажав Формулы > Менеджер именИ в Менеджер имен диалоговое окно, нажмите Новинки , см. снимок экрана:

doc список простых чисел 1

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

doc список простых чисел 2

3, Нажмите Новинки для создания другого имени диапазона в Новое имя диалоговое окно, введите имя простое число в Имя текстовое поле, а затем введите следующую формулу: =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))) (дальность это первое имя диапазона, которое вы создали в step2) в Относится к текстовое поле, см. снимок экрана:

doc список простых чисел 3

4, Затем нажмите OK и закройте диалоговые окна и выберите один столбец, который вы хотите перечислить для всех простых чисел, и введите эту формулу: = ЕСЛИОШИБКА (простое число, "")(простое число это имя диапазона, которое вы создали на шаге 3) в строке формул, а затем нажмите CTRL + SHIFT + ВВОД ключи вместе, все простые числа между данными двумя числами перечислены в следующем скриншоте:

doc список простых чисел 4


arrow синий правый пузырь Сгенерируйте все простые числа между двумя заданными числами с помощью функции User Defined

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

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

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, Затем сохраните и закройте этот код, вернитесь на рабочий лист, введите следующую формулу: = Простой (10,100) (10 является стартовым номером, и 100 это конечный номер, с которым вы хотите получить простые числа, вы можете изменить их на свои нужды), а затем нажмите вводить ключ, и все простые числа отображаются в одну ячейку, см. снимок экрана:

doc список простых чисел 5


  • Супер Формула Бар (легко редактировать несколько строк текста и формул); Макет чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы и хранение данных; Содержание сплит-клеток; Объедините дублирующиеся строки и сумму / среднее... предотвратить повторяющиеся клетки; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выберите пустые строки (все ячейки пусты); Супер найти и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения формулы ссылки; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Любимые и быстро вставляемые формулы, Диапазоны, графики и рисунки; Шифрование ячеек с паролем; Создать список рассылки и отправлять электронные письма ...
  • Извлечение текстаДобавить текст, Удалить по позиции, Удалить пространство; Создание и печать промежуточных итогов подкачки; Преобразование содержимого ячеек и комментариев...
  • Суперфильтр (сохранить и применить схемы фильтров к другим листам); Расширенный поиск по месяцам / неделям / дням, частоте и более; Специальный фильтр жирным шрифтом, курсивом ...
  • Объединить рабочие тетради и рабочие листы; Объединение таблиц на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Работает с Office 2007-2019 и 365 и поддерживает все языки. Это легко развернуть в вашей компании. Полнофункциональная 60-дневная бесплатная пробная версия.
вкладка kte 201905
  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint, Издатель, Доступ, Visio и Проект.
  • Открывайте и создавайте несколько документов в новых вкладках одного и того же окна, а не в новых окнах.
  • Увеличивает вашу производительность на 50% и уменьшает сотни щелчков мышью для вас каждый день!
нижняя часть офиса
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    John Kennedy Aquino · 2 years ago
    Sub generateprimenumbersbetween3()
    starting_number = 1 'input value here
    last_number = 10000 'input value here
    primenumbers = ""
    For a = starting_number To last_number
    c = a
    For b = 2 To c
    If a Mod b = 0 And c b Then
    Exit For
    Else
    If b = c Then
    primenumbers = primenumbers & " " & a
    Exit For
    Else
    If Round(a / (b + 1)) + 1 > b Then
    c = Round(a / (b + 1)) + 1
    End If
    End If
    End If
    Next b
    Next a
    MsgBox primenumbers
    End Sub

    Function PRIMENUMBERSBETWEEN3(starting_number, last_number)
    primenumbers = ""
    For a = starting_number To last_number
    c = a
    For b = 2 To c
    If a Mod b = 0 And c b Then
    Exit For
    Else
    If b = c Then
    primenumbers = primenumbers & " " & a
    Exit For
    Else
    If Round(a / (b + 1)) + 1 > b Then
    c = Round(a / (b + 1)) + 1
    End If
    End If
    End If
    Next b
    Next a
    PRIMENUMBERSBETWEEN3 = primenumbers
    End Function

    Sub ISPRIME3()
    number_to_be_checked = 15485863 'input value here
    c = number_to_be_checked
    For b = 2 To c
    If number_to_be_checked Mod b = 0 And c b Then
    MsgBox "Not Prime. Divisible by " & b
    Exit Sub
    Else
    If b = c Then
    MsgBox "Prime"
    Exit Sub
    Else
    If Round(number_to_be_checked / (b + 1)) + 1 > b Then
    c = Round(number_to_be_checked / (b + 1)) + 1
    End If
    End If
    End If
    Next b
    End Sub
  • To post as a guest, your comment is unpublished.
    John Kennedy Aquino · 2 years ago
    Sub generateprimenumbersbetween()
    starting_number = 1 'input value here
    last_number = 2000 'input value here
    primenumbers = ""
    For a = starting_number To last_number
    For b = 2 To a
    If a - b * Int(a / b) = 0 And a b Then
    Exit For
    Else
    If a = b Then
    primenumbers = primenumbers & " " & a
    End If
    End If
    Next b
    Next a
    MsgBox primenumbers
    End Sub

    Function primenumbersbetween(starting_number, last_number)
    primenumbers = ""
    For a = starting_number To last_number
    For b = 2 To a
    If a - b * Int(a / b) = 0 And a b Then
    Exit For
    Else
    If a = b Then
    primenumbers = primenumbers & " " & a
    End If
    End If
    Next b
    Next a
    primenumbersbetween = primenumbers
    End Function

    'to check if a number is prime
    Sub ISPRIME()
    number_to_be_checked = 102 'input value here
    For b = 2 To number_to_be_checked
    If number_to_be_checked - b * Int(number_to_be_checked / b) = 0 And _
    number_to_be_checked b Then
    MsgBox "Not Prime. Divisible by " & b
    Exit Sub
    Else
    If number_to_be_checked = b Then
    MsgBox "Prime"
    End If
    End If
    Next b
    End Sub

    'to check if a number is prime
    Function ISPRIME2(number_to_be_checked)
    For b = 2 To number_to_be_checked
    If number_to_be_checked - b * Int(number_to_be_checked / b) = 0 And _
    number_to_be_checked b Then
    ISPRIME2 = "Not Prime. Divisible by " & b
    Exit Function
    Else
    If number_to_be_checked = b Then
    ISPRIME2 = "Prime"
    End If
    End If
    Next b
    End Function