Excel に関して詰まったら見るメモ
Excel は好きではないものの,きちんと行・列の構造を大事にしながら使えばそこそこよくできてるな…と感じることも多く,自分が作る際に他人との共有の便利さを踏まえて考える選択肢としてはありうると思っている. とくに,うまく列に演算結果を保存していって最終的に欲しい結果を得るのは,案外パズル感もあってわるくない.
…のだけど,とっさに書き方が分からなくて(特に引数の取り方)迷うことがあるので,ハマるたびに少しずつ書き足していくメモとする.
函数
VLOOKUP
VLOOKUP (lookup_value, table_array, col_index_num, [range_lookup])
- 求める値 (
lookup_value) を,table_arrayの左端の列から探して,見つかった行のcol_index_num列目を返す. range_lookupがTRUEがデフォルト動作で,これは exact match を要しない.この時には,table_arrayの最初の列がソートされていることが必要で,かつ closest value を返す
ハマりどころ
- 探したいものは
table_arrayの左端にないとダメ col_index_numはtable_arrayの左端を1として何列目かを指定する上,table_arrayに含まれていないといけないrange_lookupを与えないとデフォルト動作では最も近い行を返す(多分二分探索の最後なんだろう),基本的には常にfalseでいいのではないか
たとえば
| 適当な番号 | 名前 | 探したいやつ | “=VLOOKUP(C2,A:B,2)” | “=VLOOKUP(C2,A:B,2,FALSE)” |
| 1 | a | 1 | a | a |
| 2 | b | 2 | b | b |
| 3 | c | 10 | e | #N/A |
| 4 | d | 11 | e | #N/A |
| 6 | e | 13 | e | #N/A |
| 76 | f | 50 | e | #N/A |
| 100 | g | 76 | f | f |
こちらは記法の例
=VLOOKUP(A2,A10:C20,2,TRUE)
=VLOOKUP("Fontana",B2:E7,2,FALSE)
=VLOOKUP(A2,'Client Details'!A:F,3,FALSE)
tags: