Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel产品和行函数错误_Excel_Function - Fatal编程技术网

Excel产品和行函数错误

Excel产品和行函数错误,excel,function,Excel,Function,我一直有个名字?此函数出现错误: =1/A5*SUMPRODUCT((IF(FLOOR((GCD(A5,B4)/ROW(1:24)),1)=GCD(A5,B4)/ROW(1:24),1,0)*EulerPhi(ROW(1:24))*COMBIN(A5/ROW(1:24),B4/ROW(1:24)))) (EulerPhi是一个用户定义的函数,它执行Euler的ToClient函数) 有人知道这是什么原因吗?或者,有没有更好的方法从i=1-24中总结出这一点 =1/A5*SUMPRODUCT((

我一直有个名字?此函数出现错误:

=1/A5*SUMPRODUCT((IF(FLOOR((GCD(A5,B4)/ROW(1:24)),1)=GCD(A5,B4)/ROW(1:24),1,0)*EulerPhi(ROW(1:24))*COMBIN(A5/ROW(1:24),B4/ROW(1:24))))
(EulerPhi是一个用户定义的函数,它执行Euler的ToClient函数)

有人知道这是什么原因吗?或者,有没有更好的方法从i=1-24中总结出这一点

=1/A5*SUMPRODUCT((IF(FLOOR((GCD(A5,B4)/i),1)=GCD(A5,B4)/i,1,0)*EulerPhi(i)*COMBIN(A5/i,B4/i)))
谢谢你的帮助

您的问题“可能导致此问题的原因”的正确答案是:缺少故障排除

问为什么一个公式不起作用,而不共享它所查看的数据或自定义函数的代码,就像我打电话给你说“那东西是什么颜色的?”。。。你不会知道我在问什么(即使你知道什么是颜色)

故障排除 您的问题标题表示问题是[SUMPRODUCT]或[ROW]。我只能假设这些术语是随机选择的,因为:

  • 你没有说明你为什么特别怀疑这些功能
  • 解释为什么这些函数比公式中的其他函数(如[ROW]、[COMBIN]甚至自定义函数[EulerPhi]更具问题性
  • 发帖几分钟后,您就再也没有回过头来回答有关您帖子的问题
故障排除步骤 五步故障排除过程包括以下内容: ((更多详细信息来自[来源]())

  • 验证是否确实存在问题
  • 找出问题的原因
  • 纠正问题的原因
  • 确认故障已排除
  • 采取后续行动,防止未来出现问题
  • 你在第一步停了下来即使下一步是

  • 将有问题的行作为堆栈溢出问题发布
  • 。您仍然无法期待可靠的解决方案,因为没有其他人拥有步骤2、3和4所需的信息。(另外,这不是SO的目的。请参阅。)

    隔离问题 通常情况下,我不会在一个“无人参与”的问题上花费这么多时间,因为缺少解决问题所需的信息,但我正在记录我的故障排除步骤,这是一个部分示例

    为了说明我将其分解为所有25个公式部分。(15次,无重复)。显然,在检查这样一个简单的公式时,没有必要达到这种程度

    (下载工作表的副本。)

    因此,如果我不知道,我就无法确定问题出在哪里: -
    A5的值
    -
    B5的值
    -
    行的内容(1:24)
    -自定义函数背后的代码
    EulerPhi

    。但我几乎可以保证这归结为: 1.自定义函数
    EulerPhi
    ,以及 2.引用范围行(1:24)的意外影响

    您可以通过检查此公式是否正确计算来确认我的理论:

    =EulerPhi(ROW(1:24))
    
    如果这恰好起到了应有的作用,则将以下15个forumlas复制并粘贴到数据所在的同一工作表的空白区域。您的问题在于您遇到的错误:

    =1/A5*SUMPRODUCT((IF(FLOOR((GCD(A5,B4)/ROW(1:24)),1)=GCD(A5,B4)/ROW(1:24),1,0)*EulerPhi(ROW(1:24))*COMBIN(A5/ROW(1:24),B4/ROW(1:24))))
    =A5*SUMPRODUCT((IF(FLOOR((GCD(A5,B4)/ROW(1:24)),1)=GCD(A5,B4)/ROW(1:24),1,0)*EulerPhi(ROW(1:24))*COMBIN(A5/ROW(1:24),B4/ROW(1:24))))
    =SUMPRODUCT((IF(FLOOR((GCD(A5,B4)/ROW(1:24)),1)=GCD(A5,B4)/ROW(1:24),1,0)*EulerPhi(ROW(1:24))*COMBIN(A5/ROW(1:24),B4/ROW(1:24))))
    =(IF(FLOOR((GCD(A5,B4)/ROW(1:24)),1)=GCD(A5,B4)/ROW(1:24),1,0)*EulerPhi(ROW(1:24))*COMBIN(A5/ROW(1:24),B4/ROW(1:24)))
    =IF(FLOOR((GCD(A5,B4)/ROW(1:24)),1)=GCD(A5,B4)/ROW(1:24),1,0)*EulerPhi(ROW(1:24))*COMBIN(A5/ROW(1:24),B4/ROW(1:24))
    =IF(FLOOR((GCD(A5,B4)/ROW(1:24)),1)=GCD(A5,B4)/ROW(1:24),1,0)
    =FLOOR((GCD(A5,B4)/ROW(1:24)),1)
    =GCD(A5,B4)/ROW(1:24)
    =GCD(A5,B4)
    =EulerPhi(ROW(1:24))
    =COMBIN(A5/ROW(1:24),B4/ROW(1:24))
    =A5
    =B4/ROW(1:24)
    =B4
    =ROW(1:24)
    
    (公式只是图像的副本,重复项已删除。)

    至此,您将解决问题,或者至少有一个特定问题要问。请阅读此处需要包含哪些示例信息的提示:


    正确的故障排除方法似乎很耗时,但通过实践,排除过程会变得更快,从长远来看,这将节省大量时间和挫折感(对自己和他人而言)。

    EulerPHI位于何处?它必须位于附加到要从中调用它的工作簿的模块中,或者需要包含工作簿名称。在使用本工作簿时,我将其放在visual basic模块中。这个函数只是一个建议,但似乎没有超出这个范围。visual basic模块的名称是什么?如果模块的名称与函数的名称相同,则会出现该错误。您可以重命名函数、模块或将其完全限定为
    EulerPhi.EulerPhi(行(1:24))
    这应该是一个数组函数吗?为什么“ROW(1:24)”是这样使用的?@BrynnBran(别忘了
    ✓ 接受一个有助于解决问题的答案…你将获得
    +2
    声誉,而答案的作者将获得
    +15
    代表。一旦你获得15个声誉,你也可以
    ▲ 向上投票
    任何有帮助的答案,这也会奖励作者并使堆栈溢出社区整体受益!)