0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【スプレッドシート】品番を元に製品マスタから情報一覧を取得 (VLOOKUP関数/IMPORTRANGE関数/値貼付け)

Last updated at Posted at 2021-04-25

はじめに

ある調理器具メーカー。
上司 「これ、春の新製品カタログ!」
私  「春らしい柄のキッチン用品ですね。」
上司 「でしょ。で、頼みたいんだけど、この中から桜柄の商品だけピックアップして、Googleスプレッドシートで 品番 / 品名 / JANコード の一覧を作ってくれない?」
上司 「これ、製品マスタのスプレッドシート。使ってね。」
私  「了解です!」
・・・
私  「よし、まずはカタログから桜柄を探して該当商品に印を付けよう。」
・・・
私  「商品5点に印を付けたよ。次は印を付けた商品の品番をスプレッドシートに入力して、製品マスタから 品名 / JANコード を引っ張ってこよう。」

やりたいこと

製品マスタから、品番を元に、「 品番 / 品名 / JANコード」を一覧で取得したい。

環境

Googleスプレッドシート

使った関数、機能

・VLOOKUP関数(列の検索)
・IMPORTRANGE関数 (他のシートから指定した範囲のデータを読み込む。Excelには無い関数)
・値のみ貼り付け

製品マスタの項目と抽出したい項目

【製品マスタの項目】
生産開始日 / 生産工場 / 品番 / 品名 / 価格 / JANコード
1.png

【一覧として抽出したい項目】
品番 / 品名 / JANコード

【元となる項目】
品番

手順

1.ひな形をつくる

1-1.
1行目に「品番 / 品名 / JANコード」の項目を作る(シート名=「桜柄一覧」)
2.png

1-2.
1-1のひな形に品番を入力する
3.png

2.「製品マスタ」シートをコピー

「製品マスタ」のスプレッドシートから製品マスタのシートをコピーし、作業しているスプレッドシートの新規シートにペーストする。(シート名=「シート1」から「製品マスタ」に変更。)

3.各セルにVLOOKUP関数を入力する。

 ※スプレッドシートのVLOOKUP関数 = VLOOKUP( 検索キー , 範囲 , 指数 , 並べ替え済み )
 ※「並べ替え済み」=「FALSE」に設定する。FALSE の場合、検索キーと完全一致のみが返される。一致する値が複数ある場合は、最初に見つかった値に対応するセルの内容が返され、一致する値が見つからない場合は #N/A が返される。

3-1.
セル(B2)に移動し、「挿入>関数>参照>VLOOKUP」をクリック。下のように表示される。
4.png

3-2.
検索キー(今回は品番)を入力する。
品番のセルである(A2)をクリックし、「,」を入力。すると、下のように表示される。
5.png

3-3.
範囲を入力する。別シート(「製品マスタ」シート)の範囲を指定するには、IMPORTRANGE関数を使う。書き方は
 「IMPORTRANGE(“スプレッドシートURL”,”範囲”)」

※スプレッドシートURL = https://docs.google.com/spreadsheets/d/○○○○○○/edit#gid=○○○○○○

!注1!この「スプレッドシートURLは、「桜柄一覧」シートのURLではなく「製品マスタ」シートのURLを入力する。スプレッドシートは、同ファイルのものでもシートが変わるとURLも変わるので、注意!ここを間違えるとエラーになる。

**!注2!**URLを囲うダブルクオーテーションを「“” (全角)」としないよう注意。正しくは「"" (半角)」。間違えるとスプレットシート内で「//」の部分が赤くなり、「このコンテキストではこの演算子を解析できません。」というエラーが出てしまう。

※範囲=" シート名 ! 起点セル : 終点セル "=(例)"製品マスタ!C2:F16"

3-4.
「,」を入力し、指数を入力する。範囲でC列を起点にしていた場合、下図「(製品マスタシートの)品名の列」を指数としたいなら、指数は「2」。(C列を1列目と数えるので)

【「製品マスタ」シート】
12.png

3-5.
「,」を入力し、並べ替え済みを入力する。完全一致検索がしたいので、「FALSE」と入力。

3-6.
最終的に出来上がった関数(セル B2)は下記の通り。

=VLOOKUP(A5,IMPORTRANGE("https://docs.google.com/spreadsheets/d/〇〇〇〇〇/edit#gid=0","製品マスタ!C2:F16"),2,FALSE)

3-7.
関数を全て入力し終わると、関数を入力したセルに「Loading...」という文字が表示され「...」部分が点滅する。しばらく待つと、下記のように表示される。
10.png
→「アクセスを許可」をクリック。
→下記の通り、品名が表示される。成功!
110.png

3-8.
同じ方法で他のセルにも関数を入力する。(コピペ利用して)

4.「値のみ貼り付け」をして仕上げる

できた表はセルの中身が関数のままなので、表全体をコピーし、「特殊貼り付け>値のみ貼り付け」をクリックして値のみの表をペーストする。表が完成。
完成した表を提出用の状態にして、提出版完成。

【完成品】
20.png

要確認

今回は「製品マスタ」シートを同ファイルにコピペして使用したが、コピペせずとも他のスプレッドシートファイルにある「製品マスタ」の情報をそのまま参照する方法もあるはず。本来ならIMPORTRANGE関数の中のURLを他のスプレッドシートファイルのURLにすれば参照できるはずだが、今回は「権限が無い」というエラーが出て参照できなかった。ファイル自体の共有設定を変更する必要があるのかもしれない。

他ファイルから参照する方法について、今後探ってみる。(2021/04/25)

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?