Наибольшая степень "n", которая делит число полностью - PullRequest
0 голосов
/ 14 октября 2019

Могу ли я написать формулу Excel, которая даст мне наибольшую степень n значение в конкретной ячейке полностью делится на?

Скажем

A4 = 1000

B2 = 2

=SomeGeniusFormula(A4,B2) возвращает 3, поскольку 1000 полностью делится на 2 ^ 3, но не на 2 ^ 4.

Ответы [ 2 ]

4 голосов
/ 14 октября 2019

Используйте эту формулу массива, которая буквально проверяет все степени от 1 до 100, а затем проверяет, является ли результат деления целым числом, пытаясь приравнять целое число к возвращаемому значению, а затем возвращает наибольшую степень, где это верно:

=MAX(IF(INT(A4/(B2^ROW(1:100)))=A4/(B2^ROW(1:100)),ROW(1:100)))

Будучи формулой массива, она должна быть подтверждена с помощью Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.

enter image description here


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 голос
/ 15 октября 2019

Вот один из способов ее решения:

=SUMPRODUCT(--(MOD(A4,POWER(B2,ROW(1:100)))=0))

или

=SUMPRODUCT(--(MOD(A4,B2^ROW(1:100))=0))

Замените 100 в ROW(1:100), если до 100 недостаточно в вашем реальномслучай.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...