2011年1月14日金曜日

データの取り出しをスムーズに進める一つのヒント。(その2)




前回の筆者の記事にて「INDEX関数はシート選択も可能です」ということでしたので、その辺を早速。
INDEX関数、MATCH関数などは前回の記事を参考にしてください。


前回は売上数という単一のシートだけで話をしてましたが、売上数のほかに売上金をまとめた表もあるとします。
その場合のチェックする領域の切り替えを使うことができる、INDEX関数の領域指定「第4引数」の話をしましょう。


まず、前提の条件として、「同じレイアウトのシートであるということ」です。
つまり、レイアウトの違う2つでは何も期待したものが得られない可能性があります。
(やり方は無いわけではないと思うんですが、今回は便宜上こうしておきます)
今回は、「同じレイアウトのシートで別データを取り出そう」という括りでいきます。


同じシートレイアウトであれば、「売上数」と「売上金」が切り替わると式を2本コピーして、セル位置を入れ替えておけばいいのでは?
と考えたくなるのが普通です。
でも、今回はプルダウンリストの切り替えで、自動的に読む位置を変えるというものを作成してみます。


基本的なINDEX(MATCH)関数の書き方は前回と一緒です。
1つ違うのは、第1引数の範囲の指定の仕方です。


選択する領域が2つ存在する今回は、以下のように記述します。






「B2:G8」の箇所が赤枠内の「売上数」
「I2:N8」の箇所が青枠内の「売上金」

となります。

このように、複数の範囲を指定することで、「第4引数」の役割が生きてきます。






赤枠内では、始点となる「4月」の値を求め、青枠内では終点となる「6月」の値を求めています。

求める方法は前回同様INDEX(MATCH)関数です。
前回と大きく違うのは、第4引数によるデータテーブル選択域の違いということです。
前回もとめたものは単一の領域指定であったため、第4引数は省略できましたが、今回は複数領域を指定しています。



第4引数で指定しているものは、「売上数」「売上金」という言葉を指定しています。
この場合、セルC13には「売上金」が入っていますので第4引数の結果は「2」となります(「売上数」であれば、「1」となります)。
よって、第1引数の範囲の指定は「2」、つまりセル番号「I2:N8」の範囲からの検索となるのです。


今回は、同一テーブル上で実施した方法だけですが、別シートの指定も活用できます。
シートごとにテーブルを変え(できれば、レイアウトは同一形態のほうが楽です)、それぞれを呼び出すことも可能です。


このように第4引数をうまく活用することで、より利用の幅が広がるはずです。

今回はデータ数が、縦も横もさほど多くなく、VLOOKUP関数での代用も可能であるとは思われます。
しかし、データが膨大になると、列番号の指定が少々面倒なのでINDEX関数(MATCH関数)を利用するほうがよいのではないかと思われます。
データの数を見極めた上で、関数を効果的に使っていくことがよいでしょう。




余談…
関数の入力画面(下図)のようなものがないとやりにくい(わかりにくい)という方へ。



簡単に出すためには、セル内に「=INDEX」と入力し、Ctrl+A で上記の図がでてきます。
他の関数でも可能ですので、Excelの便利方法として覚えておくとよいでしょう。

ちなみに、INDEX関数の場合には、第4引数の省略の関係でこのような選択肢が先に出てきます。
複数の引数選択肢がある場合にでるようです。



今回の場合であれば、「配列、行番号、列番号」を選択すると、同様の操作が可能です。


投稿者:@DeDe_NI


[google]

0 件のコメント:

コメントを投稿

ネイチャーインサイト サイトリニューアル&NIBLOGの引っ越し

ご連絡が遅くなりましたが、 ネイチャーインサイトの際とがリニューアルしました。 https://www.n-insight.co.jp/ それに伴い、NIBLOGも引っ越しすることになりました。 https://www.n-insight.co.jp/niblog/ ...