閉じる
閉じる
閉じる
  1. 19年3月期決算短信、2Q予想開示取りやめが2.9ポイント増加
  2. 不動産鑑定士の鑑定評価額、相続税法上の時価と認められず
  3. 一定の短期払のがん保険も資産計上対象に
  4. 日本税理士会連合会が給与所得控除削減を求める
  5. 労働基準法上、賃金の一部または全部を外貨で支払うことは可能か?
  6. 東京都令和元年10月1日以後の外形標準課税の超過税率が決定
  7. 公認会計士等の実質的異動理由を10個例示・・・企業内容等ガイドライン
  8. 2018年4月期~2019年2月期 開示すべき重要な不備は19社
  9. 子会社設立を代表取締役に一任することはできるのか?
  10. 大企業の経理マン、土地の譲渡対価を課税売上と誤認?
閉じる

出る杭はもっと出ろ!

EXCELで右端の値を検索してデータを取得するにはどうする?

久々にExcelについてです。仕事柄VLOOKUP関数をよく使いますが、VLOOKUP関数だと、指定した範囲の左端列しか検索することができません。

そのため、検索したい列が、とってきたいデータよりも右側にあるとVLOOKUP関数を使うことはできません。例えば、以下のようなシートで、上の表の空欄となっている「担当者」を下の表からとってきたいと考えた場合、普通にVLOOKUP関数を使うことはできません。

この場合、どうするかですが、簡単なのは以下のように、データを加工して、VLOOKUPで押し切るということだと思います。

しかしながら、実務では他にも関数式が含まれている数千行以上もあるデータを取り扱うことも珍しくなく、そのようなデータを加工すると変に時間がかかったり、他の部分に意図しない影響を与えてしまったりすることがあるため、データを加工しないで済むなら別の方法を使いたいという場合もあります。また、上記のように元のデータを残しつつ、加工した部分も残すと見栄えも良くないという問題もあります。

ではどうするかですが、このような場合には、VLOOKUP関数を使用せずに、他の関数を使うことで対応することができます。

使用するのは、INDEX関数とMATCH関数です。

INDEX関数は、テーブルまたはセル範囲にある値、あるいはその値のセル参照を返す関数とされています。

使い方は「=INDEX(配列, 行番号, [列番号])」となっています。「配列」が登場して、なんだか難しそうですが、今やろうとしていることを理解するには、「配列」はもってきたいデータが入っている列くらいにとらえておいて支障はないと思います。行番号と列番号は数値で指定することとされていますが、必須なのは行番号だけです。

MATCH 関数は、範囲 のセルの範囲で指定した項目を検索し、その範囲内の項目の相対的な位置を返す関数です。たとえば、範囲 A1:A3 に値 5、25、38 が含まれている場合、数式「=MATCH(25,A1:A3,0)」を入力すると、範囲内では 25 が 2 番目の項目であるため、数字 2 が返されることになります。

このINDEX関数とMATCH関数を以下のように組み合わせることで、上記のような場合であっても、VLOOKUP関数のようなことが実現できます。

まず、インデックス関数の「配列」には、もってきたいデータが入っている列の範囲を指定します。上記の例では下のほうの表の「担当者」が入力されている範囲である「A10:A14」が指定する範囲となります。

ここで、行番号を「1」とすれば、指定した範囲の最初の行に入力されている「田中」が表示されますが、「D2」のセルに表示したいのは得意先「ABC」の担当者なので、「3」を行番号として指定してあげればよいということになります。

この「3」を設定するのに使用しているのがMATCH関数で、得意先「ABC」が下のほうの表の何行目にあるかをMATCH関数で返すことによって、INDEX関数の行番号を指定することが可能となっています。

関数が複合すると抵抗を感じる方もいるようですが、使い方がわかれば決して難しくなく、利用価値は高い方法だと思いますので、使用してみるとよいのではないかと思います。

関連記事

  1. 書籍のPDF化-Scansnap S1500+PK513L

  2. Excelで行と列の条件を満たす値を集計するにはどうする?

  3. Wordの不思議(その2)-インデントマーカーの不思議

  4. リーズナブルな価格の海外データ通信

  5. FastStone Capture

  6. 従業員に対して緊急連絡用に親族等の連絡先の提供を求めることはでき…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

カテゴリー



ブログ統計情報

  • 8,252,190 アクセス
ページ上部へ戻る