ブール値の多段階合計を単一の数式に変換します


10

センサーの読み取り値がいくつかあり、値が許容範囲内にあるかどうかを確認しています。

これを行うには、を使用しIFて、値が計算された(平均)値>かどうかを確認し<ます。結果はそれぞれの列に格納されます。最後に、結果を合計して、範囲外(つまり、平均を超えている)の数を取得します。

たとえば、Axと比較されMeanます。Axいずれかを取得する10If value is outside accepted boundsAx

画像1

次にの合計If value is outside accepted boundsAx取得するために実行されますNumber of values outside boundAx

画像2、総和

質問
これを単一の数式に変換するにはどうすればよいですか?

回答:


11

あなたがしている関数はCOUNTIF()

ワークシートのスクリーンショット

次の数式をに入力しG3、ctrl-enter / copy-paste / fill-right intoに入力しますG3:I3

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

COUNTIF() 最初の引数の各値を2番目の引数の基準と照合し、それが満たされた回数をカウントします。


使用することCOUNTIF()が最も簡単で最良の解決策です。

もちろん、次のような式を理解するために、より複雑で難しいものを使用できます。

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

または配列が次のように入力されました

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

またはそれらの不必要に複雑なバージョンです。

ただし、この特定のケースでこれらのいずれかを使用することによるメリットはありません


事実、ヘルパーカラムの数を減らすことに関心があるように思われる場合、より良い全体的な解決策は、平均ヘルパーカラムも不要にすることです。

ワークシートのスクリーンショット

次の数式をに入力しD3、ctrl-enter / copy-paste / fill-right intoに入力しますD3:F3

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

(そして、はい、この式も困難に変換することにより、初心者のために理解するために作ることができます=SUMPRODUCT(--(A3:A8>AVERAGE(A3:A8))){=SUM(--(A3:A8>AVERAGE(A3:A8)))}。)


@AFH編集をありがとう(そして賛成投票;-))。どうしてこうなったのかな?そして、私は¯\ _(ツ)_ /¯それに気づくことができなかった、より重要なのは、どのように
robinCTS

おめでとうございます。システムボットは、評価の高い投稿を選択して、LQPレビューキューの監査として使用します。これは「低品質」の投稿、つまり名誉のバッジに選ばれました。:-)
fixer1234 2018

@ fixer1234ああ、もちろん(-‸ლ)私はY問題の3つの代替解を与えてから、X問題解の供給に進みます。その上で、COUNTIF()関数の動作の説明を提供します。明らかにこの答えは低品質です!次回は1行だけに固執するので、コードのみを回答してください。(PS タイムラインを確認しました。監査に失敗したようです-選択しましたLooks OK
;

2

SUMPRODUCT関数は、問題を解決することもできます。

ここに画像の説明を入力してください

この式をG102に記述し、G102からI102に直接入力します。

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

注: 必要に応じて、数式のセルアドレスを調整します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.