Microsoft で言うところの Excel に該当するのが、Google Spreadsheet である。
この Spreadsheet は、個人的には MS Excel よりも優れていると思っている。その優位な内容もあるが、まずはよく使う関数から。どの関数を使うかはその人の業務によって全然違うと思うが、私の場合は「vlookup」が最も使う関数である(たぶん)。
まずは、vlookup 関数の使い方について。
vlookup(「探すキーワード」,「対象とする範囲」,「返す列」,false)
これだけではイメージがつきにくいと思うので、具体的な例を作ってみる。
例えば、データとして、歴代の内閣総理大臣の氏名をまとめたものを用意する。
このデータから、任意の代の総理大臣の名前を拾うために、「vlookup」を使う。実際に作成したのは同じファイルのシート2に作成した。実際に、B1のセルは編集できるようになっているので、必要に応じて動作を確認してもらいたい。
では、この関数を実際に見ながら解説していく。
D1のセルには、以下のように入力されている。
=vlookup(B1,'シート1'!A:B,2,false)
この解説をする。
まず、「B1」というのは、セルB1に入力されている内容を探す、という意味である。
次に「'シート1'!A:B」が対象とする範囲である。対象とする範囲、と言っても、実際に探す範囲はこの範囲の一番左の列である。
次の「2」は、左から2列目の値を返す、ということである。
最後の「false」は、日本語にすると「間違い」とかいう意味になるが、ここでの意味は「並べ替え済みであるかどうか」である。なので、「false」にしているということは、調べるデータが並べ替え済みではないから、完全に一致するものを探す、ということになる。何百万ものデータの中から探すとなると、「false」で検索をする場合は重くなるので「true」にした方が良いが、そこまでいかない、一般的な使い方をするだけであれば、常時「false」で十分である。むしろ、並べ替えされていないデータのときに「true」を指定すると、近い値を最初に見つけたら、その近辺だけを調べて一番近い値を探し、それで検索を終了してしまう為、正確な値を返さない可能性が出てくる。
データを縦方向に探す場合は「vlookup」であったが、横方向に探す場合は「hlookup」を使う。「Vertical」と「Horizonal」の「v」と「h」である。
また、これだけなら同様の結果を返す「xlookup」という関数もある。同じシートの3行目は前述の「vlookup」ではなく、この「xlookup」で作ってある。
=xlookup(B3,'シート1'!A:A,'シート1'!B:B)
「xlookup」の方が単純で、「B3」の値を「'シート1'!A:A」の中で探し、「'シート1'!B:B」の中でその場所に対応する値を返すものである。
この「vlookup」と「xlookup」は、同じことが可能であるが、個人的には「vlookup」の方をよく使う。比較をしていくと、個人的には
- 「vlookup」の利点
- 複数の内容を返す際には返す行を指定し直す必要がある
- 「xlookup」の利点
- 返すセルが左から何列目になっているかを数える必要がない
であると思っている。
具体的に言うと、例えば台帳用のデータの中から、「姓」「名」「せい」「めい」「性別」「メールアドレス」を並べて表示させたい、という場合、「vlookup」であれば「年組番」がA列に、「姓」がU列にあるので、AからUまでを数えて21列目にあるな、ということを確認し、3番目の引数に「21」を指定する必要がある。このように、名簿の情報量が多くなり、名簿が横に長くなった場合、何列目を返すのか、一つ一つ数える必要があるので大変である。
逆に「xlookup」であれば、返す範囲を「姓」の場合は「U:U」に、名の場合は「V:V」に、など、そのまま入力できるので簡単である。
この考え方であれば、「xlookup」の方が良いように見えるが、「match」関数を使うことでこの問題を解決できる。
例えば、こんなファイルを作成する。シート1には歴代内閣総理大臣の「代」「姓」「名」「在職日数」があり、そのデータを引っ張ってくる際に、セル「B1」には
=vlookup($A2,'シート1'!$A:$D,match(B$1,'シート1'!$A$1:$D$1,0),false)
と入力してある。このmatch関数というのは、「B$1」すなわち「姓」は「'シート1'!$A$1:$D$1」の中で何番目に出てくるかを返す関数である。3番目の引数である「0」は完全一致を示しており、vlookupのときの「false」と同じように、昇順に並んでいる場合は「1(もしくは省略)」でいいが、並び方が不安な場合は「0」を指定する。こうすることで、「姓」が何列目がを数えることなく、vlookupで必要な情報を返すことができる。更に、固定を上手く使うことで、コピペだけで他のセルにも使うことができるようになる。
0 件のコメント:
コメントを投稿