「プルダウンリストで選んだ値によって表示を変えたい」
Googleスプレッドシートでプルダウンリストを作るのはとても簡単です。
もちろんプルダウンリストだけでも意味のある機能ですが、選んだ値に合わせて何かしらの表示を変えることができればさらに利用価値が上がります。
幸いGoogleスプレッドシートはプルダウンリスト以外の機能も簡単に配置できてしまいます。
そこでこの記事ではプルダウンリストとスプレッドシートで使える様々な機能を連携させる方法を紹介します。
プルダウンリストの設置方法
まずはプルダウンリストの作り方を説明から。
プルダウンの選択肢を直接入力する方法
プルダウンを設置したいセルを選択します。
右クリックメニュー又はメニューバーのどちらかの方法で「 データの入力規則」を開きます。
データの入力規則が開いたら以下の項目を指定します。
- 条件:の項目で「リストを直接指定」を選びます。
- 右の枠ににプルダウンの選択肢にしたい文字列/値を「,」カンマで区切って入力します。
- 「セルにプルダウンリストを表示」のチェックボックにチェック
- 無効なデータの場合:はプルダウンリストに無い値を入力不可にする「入力を拒否」を選びます。
問題なければ[保存]をクリック。
セルにプルダウンリストが設置されました。
プルダウンの選択肢を範囲指定する方法
プルダウンの選択肢となる文字列/値を任意の場所に入力します。
北海道と東北6県をセルに入力しました。
先ほどと同様にプルダウンを設置したいセルを選択して「データの入力規則」を開きます。
- 条件:の項目は「リストを範囲で指定」を選択します。
- 右の枠にはセルの範囲を直接入力しても良いですが、「田」のアイコンをクリックすると選択肢の文字列/値を入力したセルを矩形範囲選択で指定できます。
- 「セルにプルダウンリストを表示」のチェックボックにチェック
- 無効なデータの場合:の項目は「入力を拒否」を選びます。
問題なければ[保存]をクリック。
セルにプルダウンリストが設置されました。
Googleスプレッドシートにプルダウンリストを設置することが出来ました。以下の項目からプルダウンリストと様々な機能を連携させたいと思います。
条件付き書式設定ルールとプルダウンを連携させて色の切り替え
プルダウンリストで選んだ文字列/値に合わせて色を変更させたいセルを選びます。
「北海道」が選択されているプルダウンリストの右の「色変更」と入力されたセルの色を連動して変更しようと思います。
色変更したいセルの上で右クリックメニュー又はメニューバーのどちらかの方法で「 条件付き書式」を開きます。
スプレッドシートの右側に[条件付き書式設定ルール]が表示されます。
書式設定ルールの[セルの書式設定の条件]から
カスタム書式
を選択します。
プルダウンリストを配置したセル「B2」が「“青森”」なら書式設定のスタイル「青で塗りつぶす」
[完了]をクリック
プルダウンリストから「“青森”」を選択すると「C2」のセルが青で塗りつぶされました。
IFS関数とプルダウンを連携して文字列/値の切り替え
Googleスプレッドシートの数式で複数の条件分岐をしたい場合は
IFS(条件式1,条件式1がTrueの場合の処理,条件式2,条件式2がTrueの場合の処理,…)
の関数を使います。
条件式分岐の関数としてIF()がありますが、複数の条件分岐をする場合はIFS()を使います。
プルダウンリストの選択に合わせて文字列/値を切り替えたいセルに以下の数式を入力
=IFS(B2="青森"," ねぶた祭り",B2="秋田"," 竿燈まつり",B2="北海道"," 雪まつり")
説明:
セル「B2」に配置されたプルダウンリストから「“青森”」が選択されたら、セルC2に「“ねぶた祭り”」が入力されます。
セル「B2」に配置されたプルダウンリストから「“秋田”」が選択されたら、セルC2に「“竿燈まつり”」が入力されます。
セル「B2」に配置されたプルダウンリストから「“北海道”」が選択されたら、セルC2に「“雪まつり”」が入力されます。
実行:
プルダウンリストから”北海道”が選択されると”雪まつり”が表示されました。
プルダウンリストから”秋田”が選択されると”竿燈まつり”が表示されました。
プルダウンリストから”岩手”が選択されるとエラーメッセージの「#N/A」が表示されました。
“岩手”を条件式に入れて無いのでIFS()の条件式に合わずエラーメッセージが返されます。
Googleスプレッドシートの数式でエラーを判別する場合は
IFERROR(エラーの判別,エラーだった場合に返す値)
の関数を使います。
IFERROR()を使って修正しました。
=IFERROR(IFS(B2="青森"," ねぶた祭り",B2="秋田"," 竿燈まつり",B2="北海道"," 雪まつり"),"")
説明:
条件式でエラーが返されると「””」を返します。
実行:
“岩手”が選択されるとエラーの判別をして「#N/A」では無く「””」が返されました。
プルダウンの選択に連動して別のプルダウンの選択項目を変更する方法を紹介した記事です。
|
IFS関数とプルダウンを連携して画像の切り替え
Googleスプレッドシートのセルに画像を貼り付ける場合は
IMAGE(画像のURL, [モード], [高さ], [幅])
の関数を使います。
新規に「鳥」「カエル」「パンダ」のプルダウンリストを作りました。
画像を挿入したいセルに以下の数式を入力します。
=IFERROR(IFS(D1="鳥",IMAGE(I15,1),D1="カエル",IMAGE(I16,1),D1="パンダ",IMAGE(I17,1)),"")
説明:
プルダウンリストから「鳥」が選択されるとセル「I15」に入力されたURLの画像が表示されます。
プルダウンリストから「カエル」が選択されるとセル「I16」に入力されたURLの画像が表示されます。
プルダウンリストから「パンダ」が選択されるとセル「I17」に入力されたURLの画像が表示されます。
IMAGE("https://liquidjumper.com/img/IMG_bird.jpg",1)
画像URLを上記の様に書いても良いのですが条件式が増えると数式が長くなり視認性が悪いので、URLが入力されたセルを指定しています。
[モード]以外のオプションは省略しました。
実行:
プルダウンリストと連携して画像が変更されます。
IFS関数とプルダウンを連携してミニグラフの切り替え
Googleスプレッドシートでミニグラフを設置したい場合は
SPARKLINE(データ, [オプション])
の関数を使います。
新規に「最高血圧」「最低血圧」「脈拍」のプルダウンリストを作りました。
スプレッドシートの任意の場所にグラフのデータを入力します。
ミニグラフを設置したいセルに以下の数式を入力します。
=IFERROR(IFS(D1="最高血圧", SPARKLINE(A23:A37,{"ymax",160;"color","red"}),D1="最低血圧", SPARKLINE(B23:B37,{"ymax",160;"color","blue"}),D1="脈拍", SPARKLINE(C23:C37,{"ymax",160;"color","green"})),"")
説明:
プルダウンリストから「最高血圧」が選択されるとセル「I15」のデータを元にミニグラフが表示されます。
プルダウンリストから「最低血圧」が選択されるとセル「I16」のデータを元にミニグラフが表示されます。
プルダウンリストから「脈拍」が選択されるとセル「I17」のデータを元にミニグラフが表示されます。
実行:
プルダウンリストと連携してグラフが変更されます。
IFS関数とプルダウンを連携してGoogle翻訳の言語を切り替え
GoogleスプレッドシートでGoogle翻訳を使用する場合は
GOOGLETRANSLATE(テキスト, [ソース言語, ターゲット言語])
の関数を使います。
新規に「英語」「スペイン語」「中国語」のプルダウンリストを作りました。翻訳したい日本語のテキストを入力したセルも用意しました。
Google翻訳で変換されたテキストを表示したいセルに以下の数式を入力します。
=IFERROR(IFS(D1="英語",GOOGLETRANSLATE(E2,"ja","en"),D1="スペイン語",GOOGLETRANSLATE(E2,"ja","es"),D1="中国語",GOOGLETRANSLATE(E2,"ja","zh")),"")
説明:
プルダウンリストから「英語」が選択されるとセル「E2」のテキストを英語に翻訳して表示します。
プルダウンリストから「スペイン語」が選択されるとセル「E2」のテキストをスペイン語に翻訳して表示します。
プルダウンリストから「中国語」が選択されるとセル「E2」のテキストを中国語に翻訳して表示します。
実行:
プルダウンリストの選択に合わせて翻訳言語が変更されます。
シートを各国の言語に合わせて作るのは大変ですが、これでプルダウンリストに言語設定をして後はGoogle翻訳にお任せできます。
|
まとめ
スプレッドシートのプルダウンと様々な機能との連携を試してみました。
プルダウンと連携したいセルに以下の数式を入力するだけで出来てしまいます。
=IFERROR(IFS(セルの位置 = プルダウンの値 , 機能関数 , セルの位置 = プルダウンの値 , 機能関数),””)
以下のようなGoogleの機能関数とプルダウンリストを連携すればもっとスプレッドシートを活用できると思います。
Googleスプレッドシートのセルに画像を貼り付ける場合は
IMAGE(画像のURL, [モード], [高さ], [幅])
Googleスプレッドシートでミニグラフを設置したい場合は
SPARKLINE(データ, [オプション])
GoogleスプレッドシートでGoogle翻訳を使用する場合は
GOOGLETRANSLATE(テキスト, [ソース言語, ターゲット言語])
以上です。
|
|
国内で10年前からサービスを提供しているタスク管理・プロジェクト管理ツール。
利用者が100万人を超え、エンジニアの方以外にも、事務やデザイナー、マーケター、営業など、多様な職種の方にお使いいただいています。 |
|
|
|
|
|