XLOOKUPをVBAで再現

Pocket

ExcelにはVLOOKUPという関数があります。これが使えるとExcel初心者は卒業と言える気がします。
「ある列を検索して同じ値がある行の別の列の値を返す」という、言葉にすると非常に分かりにくい関数ですが、使えるようになると非常に便利です。
一方で使いにくい部分もあって、例えば検索列よりも返す値の列が右にある必要があります。また返す値の列は検索列から数えて何番目というのを指定する必要があります。

そういう不満の声があったからか、マイクロソフトはXLOOKUPの提供を発表しました。

XLOOKUP 関数 - Office サポート

検索列と返す値の列をそれぞれ指定できるようです。
また縦と横のどちらにも対応します。
しかし、まだ製品版には搭載されていないようです。
そこでVBAで再現してみました。

Function XLOOKUP(検索値, 検索範囲, 戻り値の配列)
  ct_search = 0
  For Each value_search In 検索範囲
    If 検索値 = value_search Then
      Exit For
    End If
    ct_search = ct_search + 1
  Next
 
  ct_return = 0
  For Each value_return In 戻り値の配列
    If ct_search = ct_return Then
      Exit For
    End If
    ct_return = ct_return + 1
  Next
  XLOOKUP = value_return
End Function

関連記事

[ 2019年10月16日 | カテゴリー: Excel | タグ: , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報