excel数组公式可除

时间:2019-03-06 18:44:49

标签: excel excel-formula

是否可以有一个公式(可能是数组公式)来表明F1中的数字是否可以被单元格中的任何数字(A1:D9)整除?

enter image description here

致谢。

3 个答案:

答案 0 :(得分:3)

类似:

{=MIN(MOD(F1, A1:D9))}
如果任何数字是一个因数,

将为0。

答案 1 :(得分:2)

尝试以下小型用户定义功能:

Public Function IsDivisible(rng As Range, v As Long) As Boolean
    Dim r As Range
    IsDivisible = False

    For Each r In rng
        If v Mod r.Value = 0 Then
            IsDivisible = True
            Exit Function
        End If
    Next r
End Function

例如:

enter image description here

用户定义的功能(UDF)非常容易安装和使用:

  1. ALT-F11弹出VBE窗口
  2. ALT-I ALT-M打开一个新模块
  3. 将内容粘贴并关闭VBE窗口

如果保存工作簿,则UDF将随之保存。 如果您在2003年以后使用Excel版本,则必须保存 该文件为.xlsm而不是.xlsx

删除 UDF:

  1. 如上调出VBE窗口
  2. 清除代码
  3. 关闭VBE窗口

使用来自Excel的UDF,

= myfunction(A1)

要全面了解有关宏的更多信息,请参见:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

,有关UDF的详细信息,请参见:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

必须启用宏才能使其正常工作!

答案 2 :(得分:1)

数组中的SUMPRODUCT“交易”

再次感谢Tim Williams出色的response,并只是“强迫”我进一步调查此事。

公式

您可以使用以下公式:

=IF(SUMPRODUCT(--(MOD(F$1,$A$1:$D$9)=0)),TRUE,FALSE)

从计算零余出现次数的公式得出:

=SUMPRODUCT(--(MOD(F$1,$A$1:$D$9)=0))

这使我们知道了我要进一步调查的原因。

我想从出现次数中排除1F1中的值81,即如果唯一的零出现是数字1或{{1} },公式将显示81,以下两个公式可以做到:

FALSE

计算=SUMPRODUCT(--(MOD(F$1,$A$1:$D$9)=0),--($A$1:$D$9>1),--($A$1:$D$9<$F$1)) 中的值除以F1范围内的每个值后零余数出现的次数,但不计算A1:D9或{{1}中的值}被分割和

1

如果发现这种情况,将返回F1,否则将返回=IF(SUMPRODUCT(--(MOD(F$1,$A$1:$D$9)=0),--($A$1:$D$9>1),--($A$1:$D$9<$F$1)),TRUE,FALSE)

工作簿

Workbook Download(Dropbox)

所以我在工作表中玩了一点,学到了很多东西。

enter image description here