エンジニア転職日記

エンジニア転職に向けての日記です

スプレッドシートで別シートの情報を抽出する

概要

今回はスプレッドシートの使い方です。

私は今、プログラミングスクールに通っており、転職活動中です。私の通っているスクールは、5人1グループで活動しており、1日に数回コミュニケーションも取ります。

転職支援として、スクールの担当の方から数件ずつ企業の募集要項がGmailで送られてきます。これをみんなで共有したら、効率よく仕事探しができるのではないかと考えました。

要件定義

スプレッドシート作成にあたり、必要な機能は以下の通りです。

・メンバーはGmailの内容を貼り付けるだけで良い

Gmailが貼り付けられたシートは冗長になり見づらいので企業名を着色して見やすくする。

・企業名が一覧表示される別シートを作成する。

f:id:shangang7321:20200825090547g:plain

完成図

実装

企業名の背景を着色する

まずは、 Gmailを貼った時に背景が着色されるようにします。

f:id:shangang7321:20200825090931p:plain

①A列を選択し、右クリック

②条件付き書式をクリック

③「セルの書式設定の条件」を、「次を含むテキスト」を選択

④そのすぐ下の入力欄に「【企業名】」と入力

⑤書式設定のスタイルで背景色を選ぶ

このように設定すると、【企業名】を入力されたセルが着色されます。

 

応募可否のプルダウンを作成する

次は、応募可否のプルダウンを作成します。

f:id:shangang7321:20200825091333p:plain

①B列を選んで右クリック

②「データの入力規則」を選択

③セル範囲を「'企業一覧'!B2:B1001」と入力

これは、B1は「応募可否」というタイトルを表示したいので、そこを範囲外にしています。

④条件:「リストを直接指定」に設定

⑤そのすぐ右の欄に「応募する」「,」「応募しない」と入力

⑥セルにプルダウンリストを表示のチェックマークがついていることを確認

f:id:shangang7321:20200825091833p:plain

これでプルダウンリストが表示されます。

企業一覧に企業名が表示されるようにする

次は、企業一覧に企業名が表示されるようにします。

f:id:shangang7321:20200825091333p:plain

完成形のコードは以下です。

 =QUERY(IMPORTRANGE("1X89YVot9wKt5HvgzheipqV-ri_yqCoBbJy1dnyO9dZM","企業詳細!A1:A1000"),"where Col1 like '%企業名%'")

 

このコードを分解すると、2つの関数で構成されています。

IMPORTRANGE関数

IMPORTRANGE関数は、指定したシートからセルの範囲をインポートする関数です。

構文は以下の通りです

IMPORTRANGE("スプレッドシートID","タブ名!セル範囲")

スプレッドシート IDはスプレッドシートのURLに表示されています。https://docs.google.com/spreadsheets/d/スプレッドシートID/edit

つまり、

IMPORTRANGE("1X89YVot9wKt5HvgzheipqV-ri_yqCoBbJy1dnyO9dZM","企業詳細!A1:A1000")

というコードで、このスプレッドシートの、「企業詳細」というシートのA1からA1000までの範囲をインポートしてきています。

QUERY関数

QUERY関数は、データのフィルタリングやソート、グルーピングが行える関数です。

今回は、where句を使ってデータのフィルタリングを行っています。

where句を使った一般的な構文は以下の通りです。

QUERY(セル範囲, where 条件式)

セル範囲のところには、先ほどのIMPORTRANGE関数が入ります。

条件式のところで、その取ってきたデータの中から、企業名を抜き出して表示する設定をします。

likeと%を使うと、「○○を含む」という条件が指定できます。

Col1は一列目という意味です。

つまり、

"where Col1 like '%企業名%'"

というwhere句は、取ってきたデータの、一列目において、「企業名」が含まれるものという意味になります。

これで、実装が完了しました。

参考

https://monoblog.jp/archives/2077

https://monoblog.jp/archives/300