Перетворіть багатоступеневу суму булів в одну формулу


10

У мене є кілька показань датчика і я перевіряю, чи знаходяться значення у допустимому діапазоні.

Для цього я використовую, IFщоб перевірити, чи є значення >чи <обчислене (середнє) значення. Результати зберігаються у відповідних стовпцях. Нарешті я підбиваю підсумки, щоб отримати підрахунок кількості поза межами (тобто вище середнього).

Наприклад, Axпорівнюється з Mean. Axщоб потрапити або в, 1або 0в If value is outside accepted bounds. Ax:

Зображення 1

Тоді сума If value is outside accepted bounds. Axвиконується для отримання Number of values outside bound. Ax:

Зображення 2, підсумовування

Питання
Як перетворити це в єдину формулу?

Відповіді:


11

Функція, яку ви виконуєте, це COUNTIF():

Скріншот робочого листа

Введіть таку формулу в G3і ctrl-enter / copy-paste / fill-right G3:I3:

=COUNTIF(A3:A8,">"&D3)

COUNTIF() перевіряє кожне значення у першому аргументі на критерії у другому та підраховує кількість разів, коли воно дотримується.


Використання COUNTIF()є найпростішим і найкращим рішенням.

Звичайно, ви можете використовувати складнішу / складнішу для розуміння формулу на кшталт

=SUMPRODUCT(--(A3:A8>D3))

або масив, введений подібним

{=SUM(--(A3:A8>D3))}

або навіть більш непотрібну складну версію.

Однак, немає ні вигоди , які можна було за допомогою якої - небудь з тих , хто в даному конкретному випадку.


Якщо насправді, оскільки вам здається, що ви зацікавлені у зменшенні кількості допоміжних стовпців, ще кращим загальним рішенням було б відмовитися також і від Середніх стовпців-помічників:

Скріншот робочого листа

Введіть таку формулу в D3і ctrl-enter / copy-paste / fill-right D3:F3:

=COUNTIF(A3:A8,">"&AVERAGE(A3:A8))

(І так, ця формула також може бути важче зрозуміти для початківця шляхом перетворення її на =SUMPRODUCT(--(A3:A8>AVERAGE(A3:A8)))або {=SUM(--(A3:A8>AVERAGE(A3:A8)))}.)


@AFH Дякую за редагування (та оновлення ;-)). Цікаво, як це сталося? І ще важливіше, як я цього не помітив ¯ \ _ (ツ) _ / ¯
robinCTS

Поздоровлення Системні боти вибирають високо оцінені пости, які використовуватимуться як аудити в черзі огляду LQP. Цей був обраний як посада "низької якості" - почесний знак. :-)
fixer1234

@ fixer1234 О, звичайно, (-‸ლ) я даю три альтернативних рішення для Y-проблеми, а потім переходжу до подачі X-задачі. На додаток до цього я пропоную пояснення, як COUNTIF()функціонує функція. Очевидно, що ця відповідь - низька якість! Наступного разу я просто дотримуватимусь одного рядка, кодуючи лише відповідь. (PS Щойно перевірив часову шкалу . Схоже, ви не виконали аудит - ви вибрали Looks OK;-))
robinCTS

2

SUMPRODUCT Функція також може вирішити вашу проблему.

введіть тут опис зображення

Запишіть цю формулу в G102 та заповніть її прямо від G102 до I102:

=SUMPRODUCT(--(A102:A107>D102:D107))

NB Налаштуйте адресу комірки у формулі відповідно до ваших потреб.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.