エクセル vlookup 複数 条件。 エクセルVLOOKUP関数で複数条件で値を検索する方法

エクセル(Excel)のVLOOKUP関数で複数の条件を指定する方法

エクセル vlookup 複数 条件

スポンサーリンク 作例…得点に応じて「A、B、C、D」と評価を付ける 作例 図1の得点評価対応表から「70」点に対応する評価を調べます。 VLOOKUP関数の引数[ 検索値]に検索条件となる「70」を入力したセル「B2」、[ 範囲]に得点評価対応表のデータが入力されているセル「D3:F6」(「D3:E6」と指定してもOK)、[ 列番号]に「評価」の列「2」を指定すると、70点に対応する評価「B」が求められます。 [ 範囲]の1列目のデータを小さい順に入力しておき、[ 検索の型]に「TRUE」を指定すると、[ 検索値]が見つからない場合に[ 検索値]未満の最大値が検索されます。 ただし、条件分岐が多い場合、IF関数が何重もの入れ子になるため、数式が長く複雑になります。 条件分岐が多い場合は、簡潔な数式で済むVLOOKUP関数を使うとよいでしょう。 [ 検索の型]では、完全一致検索(FALSE)を行うのか、近似検索(TRUE)を行うのかを指定します。 近似検索を行う場合は、[ 範囲]の先頭列を基準に昇順に並べ替えておく必要があります。 検索値が見つからない場合、 検索値の代わりに 検索値未満の最大値が検索される。 「FALSE」を指定すると、完全一致検索となる。 存在しない場合、以下のような違いが出ます。 ・[ 検索値]と全く同じデータを探す場合は必ず「FALSE」を指定する。 具体例は、「」を参照。 ・[ 検索値]が見つからない場合、[ 検索値]未満の最大のデータが検索される。 相対参照で指定したセルB3は、コピー先でB4、B5…とずれていきます。

次の

エクセルVLOOKUP関数で複数条件で値を検索する方法

エクセル vlookup 複数 条件

【エクセル時短】は「少しでも早く仕事を終わらせたい!」というビジネスパーソンのみなさんに、Excelの作業効率をアップするワザをお届けする連載です。 毎週木曜日更新。 Excelで作成した表には、縦方向(行)と横方向(列)にデータが並んでいますよね。 その表から「特定の値に対応するデータを取り出す」と聞いて、真っ先に思い浮かぶのは「 VLOOKUP(ブイ・ルックアップ)関数」だと思います。 しかし、 特定の行と列がクロスする箇所、つまり「2つの値に対応するデータを取り出す」場合、VLOOKUP関数だけでは、ちょっとやりにくいのです。 表の形式によっては、VLOOKUP関数が使えないこともあります。 【エクセル時短】第42回では、このような「 クロス抽出」を関数の組み合わせで実現するテクニックを紹介します! クロス抽出でVLOOKUP関数をどう使う? ここでは例として、以下のような表を用意しました。 縦方向に「日付」、横方向に「地区」があり、それぞれを値として指定すると「担当者」が取り出される、という具合です。 セルH2に「1月29日」、セルH3に「名古屋」という2つの値を指定すると、セルH5に担当者として「加藤」が抽出されるようにします。 ここで、VLOOKUP関数の構文をあらためて見てみます。 VLOOKUP( 検索値, 範囲, 列番号, 検索の型) 引数[ 検索値]には「H2」、引数[ 範囲]には「A2:E13」と指定するとして...... 引数[ 列番号]はどうしましょうか? 「名古屋」は3列目なので「3」と指定すれば担当者を求められますが、いちいち何列目かを数えて関数式を修正するのはスマートではありません。 この問題は、もう1つの関数「 MATCH(マッチ)関数」が解決してくれます! MATCH関数でデータの位置を数値化 MATCH関数は、「指定した条件に一致するデータがセル範囲の何番目にあるか」を求める関数です。 構文は以下のとおり。 MATCH( 検索値, 検査範囲, 照合の種類) 引数[ 検査範囲]の先頭のセルの位置を1として数え、引数[ 検索値]が何番目にあるかを数えます。 完全一致のデータを検索する場合、引数[ 照合の種類]には「0」を指定します。 先ほどの表で「地区」が何番目にあるかを求めるには、以下のような関数式になります。 これをVLOOKUP関数と組み合わせる手順を見てみましょう。 ここではMATCH関数の結果をVLOOKUP関数の引数に利用したいので、引数[ 検査範囲]には「A2:E2」と指定しています。 2MATCH関数の結果を確認する MATCH関数の結果として、セルI3に「3」と表示されました。 「名古屋」の列番号が数値として取り出されたことにより、VLOOKUP関数の引数として使えます。 3VLOOKUP関数とMATCH関数を組み合わせる セルH5に、VLOOKUP関数とMATCH関数を組み合わせた以下のような関数式を入力します。 引数[ 列番号]をMATCH関数で指定するわけですね。 INDEX関数+MATCH関数も定番の組み合わせ ここまではVLOOKUP関数を使いましたが、クロス抽出を実現する関数の組み合わせとしては、 INDEX(インデックス)関数とMATCH関数もあります。 INDEX関数の構文は以下のとおり。 INDEX( 参照, 行番号, 列番号, 領域番号) INDEX関数は「配列形式」と「セル参照形式」の2つの使い方ができる関数で、上記はセル参照形式での構文です。 引数[ 範囲]のうち、指定した引数[ 行番号]と引数[ 列番号]が交わる箇所のデータを取り出します。 まさにクロス抽出のための関数ですね。 参照するセル範囲が1つの場合、引数[ 領域番号]は省略しても結果は変わりません。 まずはINDEX関数の働きを見てみましょう。 表の「第5回」に相当する5行目、「広島」に相当する3列目のデータを取り出す、という使い方です。 ただ、引数[ 行番号]に「5」、引数[ 列番号]に「3」などと、いちいち数値に変換して指定するのでは実践的ではありませんよね。 そこで、MATCH関数の出番です。 INDEX関数とMATCH関数を以下のように組み合わせれば、1つの関数式でクロス抽出が可能になります。 INDEX関数の引数[ 行番号]と引数[ 列番号]をMATCH関数で指定するわけですね。 1つの関数式で、意図どおりのクロス抽出ができました! ちなみに、VLOOKUP関数+MATCH関数の例とは異なり、表の左端にある「日付」ではなく、右端に追加した「開催回数」を条件にしていることにお気づきでしょうか? VLOOKUP関数では引数[ 検索値]が表の左端にある必要がありますが、INDEX関数なら、そうした制約はありません。 INDEX関数+MATCH関数のほうが、より汎用的に使える組み合わせと覚えておいてください。

次の

エクセルINDEX関数とMATCH関数で複数条件AND(かつ)で値を抽出!複数列もOK

エクセル vlookup 複数 条件

Excelシート上の参考表から必要なデータを検索し、指定した箇所に表示させることのできるVlookup関数。 大変便利な関数ですが、いくつかの弱点があります。 そのうちの一つが、参照表内に同じ検索値が複数ある場合に、最初に一致した検索値を引用してしまうというもの。 シリーズ4回目となる今回は、 Vlookup 関数と COUNTIF 関数を組み合わせることで、同一の検索値が 複数ある場合に任意のデータを抽出する方法をご紹介します。 Vlookup関数は、検索値が複数の場合に機能しない!?COUNTIF関数で対応しよう! 例えば、以下の表で、左の参考表に従って右の表の「担当者名」を埋めていきたい場合、 普通にVlookup関数を使っても上手くいきません。 仮にF2のセルにVookupの式を入力してみます。 すると以下の表のように、F列には取引先ごとにすべて同じ担当者名が表示されてしまいます。 なんとか株式会社の場合は「山田真一」「山村和彦」「青木修平」と表示したいところを、すべて「山田真一」となってしまっている訳です。 これは、Vlookup関数の特性上、同じ値の検索値が複数ある場合に、検索範囲の一番最初のデータが引用されてしまうため。 参照表で「なんとか株式会社」を検索値とするデータは3つ存在しており、そのうちの一番最初にヒットする値である「山田真一」が表示されてしまうのです。 この問題を解決するには、複数ある同一の検索値をそれぞれ唯一無二のものにすればOK。 そのために「 COUNTIF」という関数を使います。 重複データの処理に便利なCOUNTIF関数 さて、話を進める前に、一旦COUNTIF関数の使い方を学びましょう。 COUNTIF関数とは、検索範囲内から条件に一致するセルの個数を数字で返してくれるというもの。 Excelシート上のリストの中で、重複するデータがあるかどうか調べる時などに大変便利です。 例えば、以下の表でA列に入力された番号にダブりがあるか調べたい場合。 B列にCOUNTIF関数の式を入力することで、番号の隣のセルに出現する数を表示することができます。 B2のセルにに挿入する式は =COUNTIF(A:A,A2 A2と同じセルの値のセルがA列でいくつあるのか数える式です。 定義は以下の通り。 この式をB22までコピー&ペーストした結果が以下の表です。 「195」という値は3つ、「160」は1つ・・・というようにA列の各セルについて、A列で重複して入力されているかどうか確かめることができるのです。 COUNTIF関数を工夫すれば、重複するセルを一括して抽出できる COUNTIF関数を使えば、いくつ重複するデータがあるのか数えることができると説明しました。 しかしながら、この方法では各セルのデータについて、他にダブっている値のセルが存在することは分かっても、一目瞭然で消すべきデータを見分けることができません。 こんな場合は、以下のように関数に少し細工をします。 B列の数字が示すのは、各セルの番号がその列で何番目に出てきたかということ。 つまり、B列で2以上の数字が出たA列の値は、それより上の行ですでに出現しているということになるわけです。 よって、B列で「2」以上の値を削除すれば重複データは無くなります。 なぜでしょう。 式はそれぞれ「A2からA3までのセルで、A3の値はいくつかあるか」「A2からA4までのセルで、A4の値はいくつあるか」・・・・という意味を表し、検索する範囲がどんどん下へ広がっていくイメージです。 とすれば、B列の各セルに入力された関数は、自分自信より下の行のセルは参照していないことになり、よってB列に表示された数字は「そのセルの隣にある値が、A列で何回目に出てきたか」ということを表すのです。 「重複の削除」は使えない!? COUNTIF関数を使って、重複するデータを抽出する方法をご紹介しました。 この方法を活用すれば、複数の重複するデータに対応できないVlookup関数の弱点をカバーすることが可能になります。 具体的なやり方を学ぶのは、に回しましょう。 ちなみに、Excelには「重複の削除」という機能がついておりますが、これは重複しないデータまで削除してしまうバグが確認されているそうです。 式も複雑でないCOUNTIF関数を覚えておいて損はありません!.

次の