如何在 Excel 中生成两个给定数字之间的所有质数?

ms excelmicrosoft technologiescomputers更新于 2025/1/9 16:44:17

Excel 是一款著名的基于电子表格的工具,用于操作和处理可用数据。在本例中,用户需要计算两个给定数字之间的质数。本教程包含两个示例。第一个例子基于用户自定义公式。在本例中,用户需要定义公式标题。第二个示例用户使用 VBA 代码定义一个模块。此 VBA 代码可以通过显式方法调用。

我们来看一些示例

示例 1

步骤 1

请参考以下示例工作簿。此 Excel 工作表包含两个数字,第一个数字包含起始数字的数据,而第二行包含最后一个数字作为素数范围:

步骤 2

然后,转到公式选项卡,在"已定义名称"部分下,选择"名称管理器"。请参考下图:

步骤 3

这将打开以下对话框:

步骤 4

点击"新建"按钮。这将打开以下对话框:

步骤 5

将名称更改为"prime_range",并在"引用"列中添加公式"=ROW(INDIRECT(Sheet1!$B$1&":"&Sheet1!$B$2))"。

步骤 6

点击"确定"。这将打开以下对话框:

步骤 7

再次点击"新建"选项。

步骤 8

转到名称选项并输入"prime"。然后点击"引用",并粘贴提供的公式:

=SMALL(IF(MMULT(--(IF(prime_range >TRANSPOSE(prime_range -Sheet1!$B$1+2),MOD(prime_range,( prime_range >TRANSPOSE(prime_range -Sheet1!$B$1+2))*TRANSPOSE(prime_range -Sheet1!$B$1+2)))=0), prime_range -Sheet1!$B$1+2)=0, prime_range),ROW(INDIRECT("1:"&Sheet1!$B$2)))

步骤 9

点击"确定"。这将打开如下所示的对话框:

步骤 10

A 点击"关闭"。

步骤 11

转到单元格"D2",输入公式"=IFERROR(prime,"")"。按"Enter"键,数据将显示如下:

最终生成的结果如下:

示例 2

步骤 1

在本例中,我们将使用 VBA 来实现相同的任务。

转到"开发人员"部分,在"代码"部分下,点击"Visual Basic"。

步骤 2

这将打开如下所示的对话框:

步骤 3

然后选择"插入",然后点击"模块"。

步骤 4

这将打开以下代码区域:

复制以下代码
'定义模块
Function Prime(Strt, last As Long)
    '声明所需变量
    Dim value As String
    '嵌套 for 循环表达式
    For val_a = Strt To last
        ' 内部 for 循环表达式
        For val_b = 2 To val_a - 1
            ' if block
            If val_a Mod val_b = 0 Then GoTo jump_label:
        ' next statement
        Next val_b
        ' processing step
        value = value & val_a & ","
jump_label:
' next instruction
Next val_a
' assign value to prime
Prime = value
' end of module definition
End Function

步骤 5

代码区域快照:

步骤 6

之后返回工作表,并在工作表上输入"=prime(1,100)"。这将在工作表上打印质数。

步骤 7

这将在控制台上显示以下给定的质数:

结论

本教程使用两个简单示例来解释"如何在 Excel 中生成两个数字之间的所有质数"。完成以上所有步骤后,用户将能够理解在开发质数公式和编写质数代码时所需的正确步骤。


相关文章


有用资源