2

У меня есть стол с

  • фактический запас в столбце C
  • товар в колонке D
  • автоматическое изменение порядка в столбце F

Мне нужно посчитать количество строк, когда (C+D+F) > 0 . Каждая строка должна учитываться только один раз и только if (C=0 or D=0 or F=0)

Есть ли способ?

Я посмотрел самый подробный урок о ссылках в Интернете с умелых бит, но я не смог адаптировать его под свои нужды.

3 ответа3

4

Вот решение с одной формулой:

=SUMPRODUCT((((C=0)+(D=0)+(F=0))>0)*(C+D+F>0))

Обратите внимание, что я использовал только букву столбца для обозначения всего диапазона данных. На самом деле это будет что-то вроде $C$2:$C$500 или Table1[Actual Stock] или что-то еще, что вам действительно нужно для настройки данных.

3

Вам нужен новый столбец, чтобы сначала выполнить вычисления с ячейками, содержащими следующую формулу:

=AND( ((A2+B2+C2)>0), OR( A2=0, B2=0, C2=0) )

NB: я использовал столбцы A, B и C только для простоты.

Новый столбец покажет true или false.

Для подсчета вам нужна формула:

=COUNTIF([test],TRUE)

NB: я превратил таблицу данных в таблицу Excel, которая всегда является лучшей практикой. Он включил Total Row для таблицы и изменил формулу по умолчанию на приведенную выше. В столбце, который я добавил для предыдущей формулы, я дал заголовок "test". Делая так, вы всегда включаете всю таблицу для расчета, так как Excel обрабатывает динамическое обновление строк / столбцов / ячеек. Вы также можете поместить итоги в строку над таблицей данных, что отлично подходит для больших таблиц.

ОБНОВИТЬ:

Если вы сделаете таблицу данных таблицей Excel, как я предлагаю, вы также можете изменить формулу первого столбца на:

=AND( (([@stock]+[@in]+[@reorder])>0), OR( [@stock]=0, [@in]=0, [@reorder]=0) )

Предполагая, что вы озаглавили столбцы "акции", "в" и "изменить порядок" соответственно.

2

Для вашего состояния C = 0 или D = 0 или Е = 0, я предполагаю , что требование в том , что по крайней мере один элемент равен нулю, не то, что ровно один элемент должен быть равен нулю; так, например, C = 0 и D = 0 будут соответствовать требованию. Если это так, то есть простое решение, несколько похожее на подход Джулиана Найта. Я также использовал бы вспомогательный столбец. Для строки 1 он будет содержать:

=(C1+D1+F1>0)*(C1*D1*F1=0)

Это вернет 1 если оба условия выполнены, ноль в противном случае. Скопируйте это вниз столбец для всех строк. Суммируйте этот столбец для подсчета.

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