スプレッドシートの使い方

Googleスプレッドシート・XLOOKUP

別シートの商品情報をXLOOKUPで自動表示する方法

見積書や発注書を作るとき、商品マスターを見ながら単価や商品区分を毎回書き写していませんか。商品名を入力したら、別シートから区分と単価が表示されるように、XLOOKUP関数を使います。

商品名を入れると、区分と単価が自動で表示される

完成例では、見積入力のA列に商品名、B列に商品区分、C列に単価を表示しています。例えば「A4コピー用紙(500枚)」を入力すると、区分は「用紙」、単価は680円になります。

商品名ごとの区分と単価が埋まった完成表です。スマホ表示では列を3つの部分に分けて拡大しています。上から順に、商品名、区分・単価、数量・金額を示しています。

E列の金額は単価×数量で計算されます。練習シートにはその計算式を設定済みなので、今回はB列とC列に商品情報を出すところを試します。

「商品マスター」と「練習」の2つのタブを確認する

下の練習用シートをコピーしたら、画面下にある「商品マスター」タブを開きます。A列に商品名、B列に商品区分、C列に標準単価が登録されています。

これが商品情報を探す元の表です。スマホ表示では、商品名の列と区分・単価の列を上下に分けています。

続いて「練習」タブを開きます。A列には商品名、D列には数量が入力済み。B列の区分とC列の単価だけが空欄になっています。

これからB2とC2へ式を入れ、5行分にコピーします。「練習」「商品マスター」「完成例」は、同じスプレッドシートファイル内の別タブです。

B2にXLOOKUPを入れて、商品の区分を表示する

「練習」タブでB2(区分の最初の空欄)をクリックし、次の式を貼り付けてEnterキーを押します。

B2に入力:商品マスターから区分を取り出す

=IF(A2="","",XLOOKUP(A2,'商品マスター'!$A$2:$A$100,'商品マスター'!$B$2:$B$100,"未登録",0))

A2の「A4コピー用紙(500枚)」を商品マスターで探します。見つかった行のB列に「用紙」と書かれているので、練習タブのB2にも「用紙」が表示されます。

式の中では、何をどこから探している?

  1. A2:探したい商品名

    見積入力のA2に書かれた「A4コピー用紙(500枚)」を探します。

  2. '商品マスター'!$A$2:$A$100:商品名を探す場所

    「商品マスター」タブのA2〜A100です。A列から同じ商品名を探します。

  3. '商品マスター'!$B$2:$B$100:取り出す情報の場所

    同じ「商品マスター」タブのB2〜B100です。見つかった商品と同じ行の区分を取り出します。

後ろの "未登録" は見つからなかったときの表示、0 は商品名の完全一致で探す指定です。先頭の IF(A2="","",...) は、商品名が空欄なら結果も空欄にするために付けています。

「完成例」タブのB2を選んだ実画面です。上の数式バーでも、探す商品名・範囲を確認できます。

C2に単価の式を入れ、下の行までコピーする

次にC2(単価の最初の空欄)を選び、こちらの式を貼り付けます。

C2に入力:商品マスターから単価を取り出す

=IF(A2="","",XLOOKUP(A2,'商品マスター'!$A$2:$A$100,'商品マスター'!$C$2:$C$100,"",0))

さきほどとの違いは、取り出す列が商品マスターのC列(単価)になること。A2のコピー用紙ならC2に680が表示されます。商品が見つからないときは、単価を空欄にしています。

C2では、商品マスターのC列から価格を取得します。

2つの式を5行分にコピーする

B2:C2を選択し、選択枠の右下にある小さな四角を6行目までドラッグします。難しければB2:C2をコピーして、B3:C6へ貼り付けても構いません。

すると5商品の区分と単価が表示され、E列の金額も埋まります。たとえばコピー用紙は単価680円×数量3で2,040円です。

$A$2:$A$100 などの $ は、下へコピーしても商品マスターの検索範囲を動かさないための記号です。一方、A2 に $ は付けません。3行目ではA3、4行目ではA4の商品名を探すためです。

自分の表で使うときに変える場所と、表示されないときの確認

自分の表では、①タブ名、②商品名を探す範囲、③表示したい情報がある範囲を変えてください。例えば単価がマスターのD列なら、C2の式の '商品マスター'!$C$2:$C$100 を実際のD列の範囲に変えます。探す範囲と取り出す範囲は、同じ行数にします。

「未登録」と出たら
商品マスターに同じ商品名があるか確認します。余分なスペースや全角・半角が違うと、見つからない場合があります。
単価だけ空欄なら
C2の式と、商品マスターの単価がある列を確認します。今回の式は商品が見つからない場合にも空欄を表示します。
同じ商品名が何件もあるなら
同名の行が複数あると、意図しない単価を取り出すおそれがあります。商品マスターでは商品名を重複させないようにします。

ここで使うXLOOKUPは同じファイル内の別タブを参照します。別のスプレッドシートファイルを参照する方法とは異なります。

関数の仕様:Google公式ヘルプ「XLOOKUP 関数」