Excel SUMPRODUCT和ROW函数错误
我不断收到#NAME? 错误与此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的Totient函数)
有谁知道是什么原因造成的? 还是有更好的方法来总结这个从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)))
谢谢你的帮助!
您的问题“可能导致此问题”的正确答案是: 缺less故障排除 。
问为什么一个公式不工作,没有分享它正在查看的数据,或自定义函数的代码,就好像我打电话给你,说“这是什么颜色? …你不知道我在问什么(即使你知道什么颜色)。
故障排除
您的问题标题表明问题是[SUMPRODUCT]或[ROW]。 我只能假设这些术语是随机select的 :
- 你没有说明你为什么怀疑这些function
- 解释为什么这些比在ROW,COMBIN甚至自定义函数[EulerPhi]等公式中的其他问题还要多。
- 自发布几分钟后,您还没有检查回答有关您的post的问题。
故障排除步骤
五步故障排除过程包括以下内容: ((更多来自[源]的详细信息)( https://www.myodesie.com/wiki/index/returnEntry/id/2956#Troubleshooting%20Steps ))
- 确认问题确实存在。
- 隔离问题的原因。
- 纠正问题的原因。
- 确认问题已被纠正。
- 跟进,以防止未来的问题。
你在第一步停了下来。 即使下一步是 :
在Stack Overflow上将问题行作为一个问题发布。
。 。 。 你仍然不能期望一个可靠的解决scheme,因为没有人有步骤2,3和4所需的信息。(另外,这不是SO的目的,请参阅参观 。
隔离问题
通常情况下,我不会花这么多时间在“无人值守”的问题上,缺less解决问题所需的信息,但是我logging了我的故障排除步骤,这只是一个部分的例子。
为了说明的目的,我把这个分成了25个公式部分。 (15没有重复)。 显然在检查这样一个简单的公式时没有必要去这个范围。
(在这里下载工作表的副本。)
因此,我不知道问题所在: – A5
的值 – B5
的值 – ROW(1:24)
的内容ROW(1:24)
– 自定义函数EulerPhi
后面的代码
。 。 。 但是我几乎可以保证它归结为:1.自定义函数EulerPhi
,2.引用范围ROW(1:24)的非预期效果。
你可以通过检查这个公式是否正确计算来证实我的理论:
=EulerPhi(ROW(1:24))
如果碰巧正常工作,则将以下15个论坛复制并粘贴到数据所在工作表的空白区域。 你的问题在于你得到的错误:
=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)
(这些公式只是图片的副本,删除了重复项。)
在这一点上,你将会解决这个问题,或者至less有一个具体的问题要问。 请阅读关于需要包含哪些示例信息的提示: 如何创build最小化,完整和可validation的示例 。
适当的故障排除方法似乎很耗时,但是通过练习消除过程会更快,并且从长远来看将会节省大量的时间和挫折(对于自己和其他人)。