オーロラさんの勉強帳

SESの客先常駐勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。

【Excel】【新社会人必須】VLOOKUP関数の使い方 ~簡単・わかりやすいVLOOKUP関数入門~

Excelを使う仕事でかかせない関数の一つにVLOOKUP関数があります。
新社会人やあまりExcelを使う機会がない方などに向けて、VLOOKUP関数の使い方を紹介します。


目次

VLOOKUP関数とは

VLOOKUP関数は、範囲内の一番左側の列に検索値がある場合、検索値から指定した列数分右側のデータを返す関数です。


以下のように商品コードと価格の対照表(商品価格マスタ)と、各担当者が販売した実績表があり、商品コードに対応する価格を入力する場合などにVLOOKUPL関数を使います。
f:id:auroralights:20210503232721p:plain

VLOOKUP関数の構文

VLOOKUP関数の構文は以下の通りです。
=VLOOKUP(検索値,範囲,列番号,検索方法)


VLOOKUP関数の引数について

検索値 検索する値
範囲 検索値を検索するセル範囲。
検索値は範囲の一番左側の列に必ず位置する必要があります。
列番号 検索値から何列目のデータを返すかを指定します。
検索方法 近似値一致の場合はTRUE。完全一致の場合はFALSE(0)を指定します。
基本は完全一致で使うのでFALSEもしくは0を指定します。
規定値はTRUEです。


※範囲は絶対参照をすることが多いです。「F4」キーで絶対参照をすると覚えておきましょう。
※検索方法については、完全一致のFALSEもしくは0を指定すると覚えておいてください。


以下の例ではセル「H2」に「=VLOOKUP(G2,$A$1:$C$10,3,FALSE)」の数式が入っています。
f:id:auroralights:20210503230034p:plain

引数は以下のように指定しています。

検索値 G2
範囲 $A$1:$C$10
列番号 3
検索方法 FALSE

考え方としては、範囲の「$A$1:$C$10」の左端の列(A列)に検索値「G2」(A00009)があれば、そのデータの3列右のデータを返します。
A0009の3列右のデータなので「高橋 花子」をVLOOKUP関数で返しています。


VLOOKUP関数を使ってみよう

以下のように商品価格マスタ(商品コード・価格対照表)、担当者マスタ(担当者ID
ID・担当者名対照表)、販売実績テーブルの3つの表があります。
販売実績テーブルに担当者IDに紐づく担当者名を、商品コードに紐づく価格をVLOOKUP関数で入力してみましょう。

f:id:auroralights:20210503234806p:plain

担当者名をVLOOKUP関数で求める方法

セルH2に「=VLOOKUP(G3,$D$3:$E$6,2,FALSE)」と数式を入力します。
f:id:auroralights:20210504000911p:plain

検索値「G3」と完全一致するデータがセル範囲「$D$3:$E$6」の左端の列にある場合、2列目のデータを返します。
担当者ID「A0001」に対応する担当者名「佐藤 一郎」が返ってきています。
f:id:auroralights:20210503235422p:plain


次にH3のデータを表の一番下までコピーします。
この時に「範囲」を絶対参照で指定していないと範囲がずれてしまうので注意しましょう。
f:id:auroralights:20210504000121p:plain
コピーする方法については、ドラッグアンドドロップでもいいですし、Ctrl+C、Ctrl+Vでコピーする方法、セル「H3」右下にカーソルと合わせて、カーソルが十字になったときにダブルクリックする方法などでコピーします。

VLOOKUP関数で商品コードに対応する価格を求める方法

セル「K3」に「=VLOOKUP(I3,$A$3:$B$8,2,FALSE)」と数式を入力し、販売実績テーブルの最下行までコピーします。担当者名を取得した方法と同じです。
f:id:auroralights:20210504001204p:plain


以上、VLOOKUP関数の使い方を紹介しました。
VLOOKUP関数の応用として、MATCH関数と組み合わせて使う方法もあります。
以下の記事も参考にしてみてください。
auroralights.jp

【SQL】CONCAT関数 (ORACLE DATABASE 12C SQL基礎)

ORACLE DATABASE 12c SQL基礎(1Z0-061)の試験範囲でもある、
CONCAT関数の使用方法を紹介します。


目次

CONCAT関数の使い方

CONCAT関数は引数で指定した2つの文字データを結合します。
文字列結合の連結演算子「||」と同じ使い方ができます。
CONCAT関数は2つの文字列の結合に対してと制限があるのに対して、連結演算子「||」は文字列データの個数に制限なく結合ができます。

CONCAT関数の書式

CONCAT(文字データ)

CONCAT(文字データ)の使用例

--2つの文字データを結合する例
SELECT CONCAT('ORACLE','DATABASE') FROM DUAL;
SELECT CONCAT('ORACLE','1Z0-061') FROM DUAL;


上記SQLを実行すると2つの文字列データを結合した値が返ってきます。
f:id:auroralights:20210424223555p:plain


2つの以上の引数を指定すると、以下のように「ORA-00909:引数の個数が無効です」とエラーが返されます。
f:id:auroralights:20210430015314p:plain

【SQL】SUBSTR関数の使い方 (ORACLE DATABASE 12C SQL基礎)

ORACLE DATABASE 12c SQL基礎(1Z0-061)の試験範囲でもある、
SUBSTR関数の使用方法を紹介します。
f:id:auroralights:20210425194447p:plain

目次

SUBSTR関数の使い方

SUBSTR関数は引数で指定した文字データから指定した開始位置から指定した桁数の文字を抽出する関数です。

SUBSTR関数の書式

SUBSTR(文字データ,開始位置,取り出す文字数)

  • 「開始位置」に負の数字(-x)を指定した場合は、文字データの末尾から数えてx番目の文字から文字を取り出します。
  • 「開始位置」は1で始まります。0を指定した場合も1を指定したことになります。
  • 「取り出す文字数」は省略可能です。「取り出す文字数」を省略した場合は、開始位置からデータの最後の文字までを返します。

1.SUBSTR関数の使用例

開始位置、取り出す文字位置を指定した場合

SELECT SUBSTR('ORACLE 1Z0-061学習',2,4) FROM DUAL;

文字データ「ORACLE 1Z0-061学習」の2文字目「R」から4文字を取り出すので、「RACL」が返されます。

開始位置に1を指定した場合、0を指定した場合

SELECT SUBSTR('ORACLE 1Z0-061学習',1,6) FROM DUAL;
SELECT SUBSTR('ORACLE 1Z0-061学習',0,6) FROM DUAL;

開始位置に「0」を指定した場合も「1」を指定したとみなされるため、同じ結果が返ってきます。
「ORACLE 1Z0-061学習」の1文字目の「O」から6文字を取り出すので「ORACLE」が返されます。

取り出す文字数を省略した場合

SELECT SUBSTR('ORACLE 1Z0-061学習',8) FROM DUAL;

文字データ「ORACLE 1Z0-061学習」の8文字目から文字データの末尾まで取り出すので「1Z0-061学習」が返されます。

開始位置に負の値を指定した場合

SELECT SUBSTR('123456789',-5,3) FROM DUAL;
SELECT SUBSTR('123456789',-5) FROM DUAL;

末尾からマイナス5文字目から文字を取り出します。
f:id:auroralights:20210425194041p:plain

取り出す文字数を文字データの文字数以上指定した場合

SELECT SUBSTR('123456789',2,100) FROM DUAL;
SELECT SUBSTR('123456789',-2,100) FROM DUAL;

エラーになることはなく、文字データの末尾まで取り出すことができます。
f:id:auroralights:20210425194239p:plain