Скажем, у меня есть следующий столбец: 100, 123, 400, 64 Я хочу использовать SUMIF для суммирования всех чисел, которые делятся на 100 без напоминания. То есть я хочу, чтобы результат был 500, для приведенного выше примера. Мне нужно как-то использовать MOD(?, 100) = 0 условного выражения. Мой вопрос более общий, можно ли использовать функции в условном выражении SUMIF (или COUNTIF и т.д.).

2 ответа2

1

Нет, это невозможно. Это то, от чего мы отказываемся, чтобы позволить его оптимизировать (без массива).

Но вы можете использовать SUMPRODUCT:

Для СУММЫ:

=SUMPRODUCT((MOD(A1:A4,100)=0)* A1:A4)

Для СЧЕТА:

=SUMPRODUCT(--(MOD(A1:A4,100)=0))

(MOD(A1:A4,100)=0) вернет TRUE/FALSE, когда будет проходить через массив. Используя математические операнды, TRUE/FALSE становится 1/0 соответственно. поэтому SUMPRODUCT выполняет математические вычисления и добавляет полученный массив вместе.

0

Хотя принятие ответа Скотта Кранера является правильным и, вероятно, вы захотите его использовать, я подумал, что вам может быть интересно узнать, что SUMIF() можно использовать в этом конкретном случае.

Поскольку SUMIF() поддерживает регулярные выражения, вы можете использовать следующее:

=SUMIF(A1:A4,"^.*00$")

Это работает, потому что числа в A1:A4 неявно преобразуются в текст для соответствия регулярному выражению, которое ищет строки, заканчивающиеся двумя нулями (если включено сопоставление всей строки, ^ и $ можно опустить).

Метод можно обобщить для чисел, кратных степеням 10 или степеням 10 с определенным остатком, но ответ Скотта можно использовать для кратностей любого числа и многих других критериев.

Примечание: я протестировал это с LibreOffice Calc, так как у меня нет легкого доступа к недавнему выпуску Excel, но я обнаружил, что функции довольно совместимы между ними. Регулярные выражения (и сопоставление всей строки) включены в Calc по умолчанию, но их может потребоваться установить в Excel.

Обновление: Скотт теперь сообщает мне, что RE не поддерживаются в критериях SUMIF() , но я оставлю ответ в интересах пользователей LibreOffice.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .