我可以编写一个Excel公式,该公式将给我n
的最大功效是完全可以除以特定单元格中的值吗?
说
A4 = 1000
B2 = 2
=SomeGeniusFormula(A4,B2)
返回3,因为1000可以被2 ^ 3整除而不是2 ^ 4。
答案 0 :(得分:4)
使用此数组公式逐字测试从1到100的所有幂,然后通过尝试将整数等于返回值来测试除法的结果是否为整数,然后在满足条件的情况下返回最高幂:
=MAX(IF(INT(A4/(B2^ROW(1:100)))=A4/(B2^ROW(1:100)),ROW(1:100)))
作为数组公式,退出编辑模式时必须使用Ctrl-Shift-Enter而不是Enter进行确认。
AGGREGATE也可以使用:
=AGGREGATE(14,7,ROW(1:100)/(INT(A4/(B2^ROW(1:100)))=A4/(B2^ROW(1:100))),1)
通常输入。
如果可以访问新的动态数组公式,则将ROW(1:100)
替换为SEQUENCE(100)
=MAX(IF(INT(A4/(B2^SEQUENCE(100)))=A4/(B2^SEQUENCE(100)),SEQUENCE(100)))
通常也可以输入。
答案 1 :(得分:1)
这是解决问题的一种方法:
=SUMPRODUCT(--(MOD(A4,POWER(B2,ROW(1:100)))=0))
或
=SUMPRODUCT(--(MOD(A4,B2^ROW(1:100))=0))
在实际情况下,如果100
内的ROW(1:100)
不足以100的幂,则将其替换。