水曜日, 7月 01, 2020

Excel_11 
TODAYとVLOOKUP関数でタイピングを楽に

今回は常にファイルを開いた時点の日付を返すTODAY(トゥディ)関数と、一覧から自動的に目的項目を書き出してくれるVLOOKUP(ヴイルックアップ)関数について整理しました。

まず D1 に現在の日付を入れます。これは本当に現在の日付なので、ファイルを開いた時点での現在の日付になります。ですから、ダイレクトに日付を入れても意味がありません。

まず D1 セルを選択し数式タグの日付時刻から TODAY を選びます。

選んだ直後に上の様なバレットが表示されますが、そのままOKをクリックします。これで完了です。常にファイルを開いた直後の日付に自動的に変更されます。

ただし、設定直後は長い表記となっていますので調整したい場合はホームタグの[数値>その他の表示形式]から[日付]を選んで好みの表記に変更します。

ここでは[月日]としました。

次にこの表のC列には商品名が記載されていません。複雑な諸品名をタイプミスせずに入力するのは困難です。そこでタイピングしやすいコード番号だけを入力し、予め用意した商品コードと商品名の対応表(H3:K15)を元にデータを自動的に書き出すためにVLOOKUP関数を使います。まず C4 のセルを選択し数式タグの[検索/業列>VLOOKUP]を選びます。

表示されたパレットは
検索値 → 基準となる自身の値
範囲 → 別表全体を指定
列番号 → 別表の何列目の情報なのか
検索方法 → 完全一致か曖昧一致か

ということで、
検索値 → B4 C4セルはABCカメラのデータなので、B4の商品コードを指定します。

範囲 → H$4:K$15 別表のデータ範囲を指定します。他の店にフィルで対応できるので絶対参照とします。

列番号 → 3 別表のどの列のデータを拾うのかを指定します。ここでは商品名なので 3 を指定。

検索方法 → 0 検索方法は完全一致でないと類似名を拾ってしまうかのうせいがあるので 0 とします。
=VLOOKUP(B4,H$4:K$15,3,0)

Excelのデフォルトは相対参照なので、必要に応じて絶対参照とすることを忘れないようにします。

これで C4 へ自動的に別表のデータが書き出されました。あとはフィルをするだけです。

これで完成です。ところで、VLOOKUPと一字違いのHLOOKUP関数があります。V は vertical(垂直)、H は horizontal (水平)ということで参照データ構成が水平の場合に利用します。今回の例でもし参照する表が以下の様になっていたらHLOOKUP関数となります。
=VLOOKUP(B4,H$4:K$15,3,0)
ではなく、
=HLOOKUP(B4,I$3:T$6,3,0)
となります。Excelのデータ的にはVLOOKUPの方が用途は多いかもしれません。

ちなみに、VLOOKUP関数は処理するデータ量が多いと動作が遅くなります。毎回すべてを探すことになるからです。 そこでビジネスシーンではINDEX関数とMATCH関数の組合せを使うのが一般的ですが、通常のデータ量(500程度?)であればVLOOKUPでも問題は無いでしょう。

Office365 2020