excelで“表引き”
以前からデータベースソフトでいうところの「表引き」がExcelでやりたかったのだけど、一念発起して調べてようやくできるようになった。使う関数はlookupとかvlookupかと思っていたけど、「和名から学名を引っぱってきたい」といった目的にはmatchとindexを使うとよいようだ。
入力中のシート
A | B | C | D | |
---|---|---|---|---|
1 | 和名 | 学名 | 採集地 | 採集日 |
2 | ホゲホゲ | 入力したいセル |
タクサ辞書.xls
A | B | |
---|---|---|
1 | 学名 | 和名 |
2 | Example hogehoge | ホゲホゲ |
3 | Example fugafuga | フガフガ |
式
=INDEX('[タクサ辞書.xls]Sheet1'!$A2$:B$1000, MATCH(A2, '[タクサ辞書.xls]Sheet1'!$B$2:$B$1000, 0), 1)
MATCH関数は、タクサ辞書.xlsのB2-B1000の範囲で、A2(ホゲホゲ)に一致するセルの相対的な位置(1)を返してくれる。第3引数(照合の型)に0を指定しているので、完全一致で検索。
INDEX関数は、タクサ辞書.xlsのA2-B1000の範囲で、行と列の位置を指定して(行はMATCH関数の結果である1、列1)、セルの値を返してくれる(Example hogehoge)。