フィルターオプション 数式

フィルターオプションフィルターオプション ワイルドカード等、とやりました。今回は検索条件に数式を使います。

これまでも=”=みかん”などと式を使ってきましたがこれらは比較演算子という分類になります。
= (等号) 左辺と右辺が等しい
> (より大記号) 左辺が右辺よりも大きい
< (より小記号) 左辺が右辺よりも小さい
>= (より大か等しい記号) 左辺が右辺以上である
<= (より小か等しい記号) 左辺が右辺以下である
<> (不等号) 左辺と右辺が等しくない
これらになります。IF関数の論理式に使われますね。

今回は比較演算子だけではなくほかの計算式でフィルターオプションの検索条件を作ります。

以下のような表で計が平均以上の商品をフィルターオプションで抽出したいと思います。

F列からI列までに検索用の見出し、L列からO列までは抽出用の見出しが用意されています。まず、計のの平均を元の表の最下行28行目に算出しておきます。

これでセルD81に計の平均が出ましたので抽出見出列 計の下に=”>=d81″でうまくいきそうです。

ところがこれがうまくいきません。セル参照がうまくいっていないようです。=”>=d81″のd81の代わりに481という数値ならうまくいきます。

セル参照が入っている場合やプラスやマイナス等の計算式もうまくいきません。

  • 比較演算子以外の計算式を使う場合はダブルクォーテーションで括らないこと
  • 検索用の見出しは元の表の見出しを使わないこと
  • 計算式はTRUEまたはFALSEを返すこと
  • 左辺は元の表の見出しを除く一番上の行を使うこと

というような約束事があります。

セルJ2に=(D2>=$D$28)と入力します。これはイコールの右辺がTRUEかFALSEを返す(TRUEとFALSEを参照してみてください)式になっています。元の表のD列に対して評価しますので初めのD2は相対参照になりD28は絶対参照になります。絶対参照と相対参照参照

更にセルJ1には見出しは特に必要ありませんが条件式とかにしておくことが多いようです。

もちろんこれで終了でもいいのですが28行目に平均値を出していますが、数式の中で平均値を使うことも可能です。

28行目の平均を削除します。セルJ2の数式の$d$28の代わりにAVERAGE関数を使い平均を計算します。
=(D2>=AVERAGE($D$2:$D$27))
引数は元の表のすべての行に対してなので絶対参照にしてください。

他の行についても計算式を使うならJ列に追記してください。

少しややこしくなりますが、ここでつかる計算式はTRUEかFALSEをかえせばいいのですから、複数の条件を指定することが可能です。

計の値が最大かまたは、最小のものを抽出する式を入力します。
=(OR(D2=MAX($D$2:$D$27),D2=MIN($D$2:$D$27)))

この式はOR(A,B)という形でAかBならTUREそうでなければFALSEを返します。Aの部分がMAX関数でセルD2:D27の範囲の最大値、Bの部分がMIN関数でセルD2:D27の範囲の最小値を表します。つまり、最大値か最小値と等しかったらTUREになりますので計の(セルD2)の最大値と最小値を抽出します。 MAX関数 MIN関数 AND関数 OR関数も参照してみてください。

このように複数の条件を1つの式にまとめると1つで、計の最大と最小が抽出されます。

コメントを残す

メールアドレスが公開されることはありません。