目次
Excelでは、条件に基づいてリストを生成する必要がある場合があります。 今日は、条件に基づいてリストを生成する方法を紹介します。 このセッションでは、Excel 365を使用していますが、このバージョンを使用することをお勧めしますが、ご自分のものを自由に使用してください。
まず最初に、今回の例のベースとなるデータセットについて知っておきましょう。
ここでは、さまざまな場所に住む複数の人と、その車からなるデータセットがあります。 このデータを使って、基準に基づいてリストを作成することにします。
これは、シンプルにするためのダミーデータによる基本的なテーブルであることに注意してください。 実際のシナリオでは、もっと大きく複雑なデータセットに遭遇することがあります。
練習用ワークブック
練習用ワークブックは、以下のリンクからダウンロードしてください。
Excel 基準に基づくリストの生成.xlsx条件に基づいたリストの生成
例えば、地域別に人のリストを作成します。
小さなデータセットなので、4つの地域があることが分かっています。 地域の名前を保存しておき、その地域に基づいてリストを見つけることにします。
1.INDEXとSMALLの組み合わせでリストを生成する
ここではリストが必要なので、テーブルから複数の値を取得する数式にする必要があります。 このタスクには、以下の組み合わせを使用できます。 INDEX と SMALL の機能を持つ。
これらの機能を知るには、以下の記事をご覧ください。 INDEX、SMALL。
この2つに加えて、いくつかのヘルパー関数が必要です。 イフ , 列 と イフエラー .詳細については、記事をご確認ください。 if、row、iferror。
数式を探ってみよう
=ferror(index($b$2:$b$12,small(if($c$2:$c$12=$g$2,row($b$2:$b$12))),row(1:1))-1,1),""")
ここでは、すべての機能が目的を持っています。 INDEX 関数が返す値は,配列 B2:B12 (名前欄)と大きな SMALL の部分は、取り出したい行の番号を指定します。
IFです。 の中で SMALL は,条件に一致するかどうかを調べます。 列 関数は,列のセルに対して反復処理を行います.
次に、外 列 に対するk番目の値を表す。 SMALL これらの関数が返すのは、行番号と INDEX は結果を返します。
イフエラー を使用して、計算式から生じる誤差に対処します。
下にドラッグすると、指定された地域のすべての人が表示されます。
同様に、他のリージョンについても式を書きます(式は同じで、セルだけをずらします)。
INDEX-SMALLの組み合わせの代替案
この式は、別の方法で書くことができます。 式に使われる関数は、これまでと同じです。 表示方法だけが異なります。
計算式を見てみよう
=ferror(index($b$2:$b$12,small(if($c$2:$c$12=g$2,row($b$2:$b$12)-1),row(1:1)),1),""")
もう一度 Ctrl + Shift + Enter を実行するためのものです。
この2つの数式には若干の違いがありますが、区別することは可能でしょうか?
そう、先ほどの計算式では、一番最後に1を引いているのです。 SMALL の部分ですが、ここでは、その中で1を減算しています。 イフ の部分です。
1を引く目的は、適切な行番号にチャネリングすることです。 先ほどは、ついにそれをやってしまいましたが、ここでは、先ほどやったことをやって、さらに次の操作に進みます。
その他の条件についても計算式を書いて、リストを完成させる。
続きを読む: エクセルでセル内にリストを作る方法(3つの手軽な方法)
2.AGGREGATE関数でリストを生成する
という関数が用意されています。 AGGREGATE ここでは、条件に基づいてリストを作成するための関数を紹介します。
があります。 AGGREGATE 関数は,AVERAGE, COUNT, MAX などの集計計算を返します。
の構文は以下の通りです。 AGGREGATE 関数は以下の通りです。
AGGREGATE(function_number,behavior_options, range)
function_number。 この数値は、どのような計算を行うかを指定する。
behavior_options。 この数値は、この機能がどのように動作するかを示しています。
の範囲にあります。 集計したい範囲。
があります。 AGGREGATE 関数はいくつかのタスクを行うので、その中にいくつかの関数があらかじめ定義されています。 ここでは、よく使われる関数の番号をいくつか挙げておきます。
機能 | 機能番号 |
---|---|
平均値 | 1 |
COUNT | 2 |
COUNTA | 3 |
マックス | 4 |
ミニ | 5 |
製品 | 6 |
総和 | 9 |
LARGE | 14 |
SMALL | 15 |
機能の詳細については、以下をご覧ください。 マイクロソフトのサポート のサイトをご覧ください。
では、計算式を見てみましょう。
=ferror(index($b$2:$b$12,aggregate(15,6,if($c$2:$c$12=g$2,row($b$2:$b$12)-1),row(1:1)),1),"""")
とともに、ここにご紹介します。 AGGREGATE 関数を使用しています。 INDEX . INDEX は、式の後半で見つかったマッチに基づく値を返す配列を保持します。
を使用していることがおわかりいただけると思います。 15 として 関数番号 において AGGREGATE .上の表から、以下のことがわかります。 15 を呼びかけています。 SMALL 機能操作に共感していただけるでしょうか?
はい、実行しました。 INDEX-SMALL のような方式を採用しています。 AGGREGATE 関数を使用します。
6 を表すビヘイビアオプションに エラー値を無視する .
残りの値の計算式を書きなさい。
類似の読み物
- エクセルでTo Doリストを作る方法(3つの簡単な方法)
- エクセルでメーリングリストを作成する(2つの方法)
- エクセルで番号付きリストを作る方法(8つの方法)
3.INDEX-MATCH-COUNTIFによるユニークリストの生成
条件に基づいてユニークなリストを作成することができます。 そのためには、以下の組み合わせを使用します。 INDEX , MATCH そして COUNTIF .
COUNTIF は、ある条件を満たした範囲内のセルを数える。 そして MATCH は,範囲内のルックアップ値の位置を特定する。 これらの関数についての詳細は,以下の記事を参照されたい。 一致、countif。
数式を探ってみよう
=iferror(index($b$2:$b$12, match(0, if(g$2=$c$2:$c$12, countif($g$2:$g2, $b$2:$b$12), ""), 0)),""")
この式では B2:B12 は、抽出したい一意な値を含む列の範囲です。 C2:C12 は、基準となる項目を含むカラムです。 G2 は基準を示す。
内 MATCH 関数として0を用意しました。 lookup_array。 とのことです。 ルックアップレンジ を使用しました。 イフ 含有部分 COUNTIF つまり,この部分は0が見つかる限り値を返します。 ここでの値は INDEX .
それをドラッグすると、すべての固有値が見つかります。
を活用することをお忘れなく。 Ctrl+Shift+Enter をクリックすると、数式が実行されます。
これは、ユニークなリストを作成するためのアプローチの栄誉である。 この記事に従って、リストの作成について知ることができる。 じゅんばんひょう .
4.FILTER関数を使って条件に応じたリストを生成する
Excel 365 を使用している場合、次のような単一の組み込み関数でタスクを実行できます。 フィルター .
があります。 フィルター 関数は、与えられた条件に基づいてデータの範囲をフィルタリングし、一致するレコードを抽出します。 この関数については、こちらの記事を参照してください。 フィルター .
さて、私たちの計算式は次のようなものになります。
=filter($b$2:$b$12,$c$2:$c$12=g$2)です。
B2:B12 は、フィルタリングされる配列です。 次に、条件を指定し、それに基づいてリストを生成しています。
ここでは、数式をドラッグダウンする必要はなく、一度にすべての値を提供し、リストを満たすことができます。
続きを読む エクセルでアルファベット順のリストを作る方法(3つの方法)
結論
以上、基準に基づいてリストを作成する方法をいくつか紹介しました。 参考になれば幸いです。 理解しにくい点があれば、お気軽にコメントください。 また、ここで紹介しきれなかった方法があれば、教えてください。