
Googleスプレッドシート プルダウンリスト活用術 1(Excelとの違い、便利技)
予告していた Googleスプレッドシートの プルダウンリスト(ドロップダウンリストという言い方もある)について書きます。
昨年(2022年末)の仕様変更は「改悪」という声も多く聞かれ、Excelと比較してディスられることも多い プルダウンですが、Googleスプレッドシートならではの利点多く、工夫次第で様々な活用が可能です。
やはり書いてたら長くなってしまったので、今回は連動プルダウンまでは到達しません!すいません!!
別ネタ 前回の記事
プルダウン関連はネタが多いのでマガジンにまとめております。
Googleスプレッドシート プルダウンリストの今
冒頭でも触れましたが、Googleスプレッドシートのプルダウンリストは2022年末に仕様変更がありました。
というわけで、仕様変更前の 古い情報が掲載されているサイトも多いので、基本の部分を含め少し丁寧に書いていきます。
プルダウンリストとは?
プルダウン や プルダウンメニュー、ドロップダウンリストとも呼ばれる機能で、データの入力規制の一つに位置付けられています。

Excelにも昔からある機能で、指定したセルに入力する項目を事前にリストとして設定しておくことで、
マウス(タップ)のみでも楽に入力できる
選択肢以外の入力を防止できる
入力ミスや表記のゆれを防止することで 正しく集計できる
といったメリットがあります。
特に表記のゆれは厄介で、たとえば好きなフルーツという質問で イチゴを思い浮かべた人が 手入力で回答した場合、
イチゴ と書く人
いちご と書く人
苺 と書く人
🍓と書く人(ギャル?)
とバラバラだったら、後で集計する際にとても手間がかかるわけです。
この辺りの日本語表現のゆれをカバーできる最近の大規模言語モデルをベースとした AIチャット は、本当に凄いなーと思います。
選択肢(リスト)は直接設定画面で入力することも出来ますし、どこかのセルに記載しておいて、そのセル範囲を指定することも出来ます。
また、後で詳しく触れますが Excelの場合は 関数を組み合わせた数式による指定も出来ます。

プルダウンリストは、ExcelやGoogleスプレッドシートといった表計算ソフトだけではなく、 Googleフォームや Webページでも活用されています。(Webの方が元祖ですかね)
HTMLをかじったことがある人なら select要素で 簡単に記述できるかと思います。

ちなみに Excelやスプレッドシート、Googleフォームには機能としてありませんが Webページによっては multiple属性 を付与した 複数選択できるプルダウンリストを使っているところもあります。
「プルダウンリストとは?」は、こんなもんでいいでしょう。
プルダウンリストの解説サイトは 情報が古いケースが多い!
これは Googleスプレッドシートの プルダウンが 2022年12月に仕様変更されて、まだ1年も経過してないってことで仕方ない部分もあるんですが、ネット上には過去の仕様のプルダウンの解説が多いです。

↑ 前はこのように 画面中央に ダイアログが出て 設定していましたが、今は下の画像のように サイドバーで編集する仕様になっています。

つまり上のような ダイアログの画像が掲載されているサイトは 情報が古い!ってことです。
ちなみに GASの 変数宣言で var を使う初心者が多いのも、同じく const や letが使えなかった時期の 古い GASの解説サイトが改定されずにそのままネットの世界に多く残っている為です。
「昔のプルダウンリストはよかったのー」と、以前の仕様を望む声もありますが、残念ながら 以前のバージョン(仕様)に戻すといったことは出来ません。
Googleスプレッドシート プルダウンリスト 今と昔
では、2022年12月の仕様変更で プルダウンリストの何が変わったのか?

仕様変更を表にまとめてみました。
大きい変更が以下の5点です。
プルダウンの設定画面が簡単に開けるように ◎
プルダウンの設定画面がサイドバーに ○
プルダウンの選択肢に色をつけられる ○
標準の表示が 新しく登場したチップに △
リスト直接指定の際に 1件ずつ入力が必要に ✖
それぞれ見ていきましょう。
1.プルダウンの設定画面が簡単に開けるように ◎
以前は データ > データの入力規制 でしか ありませんでしたが、今は様々な方法でプルダウン設定が開けます。

特に プルダウンを入れたいセルを選んでから右クリック、もしくは既に設定してあるプルダウンの選択肢を編集する際の 編集ボタン から 設定にすぐ飛べるのは操作性が良いです。
というわけで、これは ◎。
2.プルダウンの設定画面がサイドバーに ○

2のサイドバーで編集は特段使い勝手が向上したわけではありませんが、他の 条件付き書式や保護と同じサイドバーになったことで、操作性に統一感がでましたね。これも ○ で。
3.プルダウンの選択肢に色をつけられる ○

リストの直接入力、セル範囲指定、どちらでも構わないのですが、個々の選択肢に色を設定 することが出来ます。
今まで出来なかったことですし、色分けで見やすくなる表もあると思うので○としてます。
ただ正直1つずつ指定するのが面倒で・・・、使わないことも多いです。
しかも、この仕様が出てきたことで リストの数式指定が遠のいたように感じます。
4.標準の表示が 新登場の チップ表示に △
プルダウンの チップは、Googleスプレッドシート や Googleドキュメントでの活用を推進しているスマートチップ施策の一環と思われます。

このスマートチップは 色々なメタ情報を詰め込んだオブジェクトです。最近のアップデートで、スマートチップから 中身の情報を一部抜き出して数式で利用したり出来るようになりました。( GoogleWorkspaceじゃないとそこまで実用性はないですが)
で、プルダウンもチップにすることで 色分けできたり 便利な面もあるんですが、いかんせん チップ化すると 文字が小さくなって 記載内容が見づらい(可読性が下がる)んですよね。。
さらにチップ表示のプルダウンには、困った点がもう一つあります。

このように チップ表示のプルダウンは、DeleteキーやBackspaceキーで プルダウンそのものが削除できてしまうという仕様なのです。これは 従来の表示し形式では出来ないことです。
誤操作でプルダウンそのものを消されてしまうのは困りますね。
チップ表示も良い点はあるので、シーンによっては活用できるとは思うんで、これが「チップ表示も選択できる」だったらまだ良かったんですが、よっぽどGoogleが 推したいのか「チップ表示が初期値」としてしまったのが悪手です。
以前の表示に直す設定箇所がわかりにくい、というのも不評でした。
というわけで、一番のウリである チップ機能は △です。
もしかしたら、今後プルダウンチップにも 他の情報を付加できて、さらに自由度が広がるようになるのかもしれませんので、今後に期待ですね。
5.リスト直接指定の際に 1件ずつ入力が必要に ✖
そして5ですが、仕様変更で リストの直接入力の際にカンマ区切りデータが使えなくなってしまったんです。
もちろん、カンマ区切りデータを一度セルにいれて分割、そのセル範囲をリストに使う方法もありますが、ちょっとしたプルダウンなら直接入力で済ませたいって時もあります。

せめて Googleフォームの 選択肢のように セル範囲や改行データのコピペで一気に生成出来れば良いんですが、それも通じない・・・。
これも選択肢が色付けできるようになったことの副作用のような気がします。
1つずつ設定する以外の方法がないので、これは✖ 改悪ですね。
これらの仕様変更は、良くなった・使いやすくなった面もありましたが、一方で 改悪と言われるのもわかる気がします。
プルダウンチップが不評だったのと、直接入力が不便になったという改悪点。さらに Excelと同じように リスト(選択肢)に数式が使える といった、ユーザーが期待していたプルダウンの仕様変更が一切なかったのも、この仕様変更が好意的に受け入れられなかった理由かと思います。
今のGoogleスプレッドシートのプルダウンについては、ポニカンさんのサイトも参考になります。
Googleスプレッドシート プルダウンリストの基本
嘆いても仕方がないので、今のプルダウンリストの基本をしっかり理解して使いこなしていきましょう。
プルダウンは データ入力規制の 一部

まず、プルダウンはデータの入力規制の一部です。そして、データの入力規制はセル範囲に対して 一つしか設定できません。
つまり、
「プルダウンから選択、ただし 〇〇を含むテキストなら直接入力可能」
こんなことや
「他のセルのチェックボックスにチェックが入ってる時だけプルダウンを有効にする(表示する)」
こんなことは出来ません。
プルダウンを使いつつ他の縛りを効かせたい場合は、条件付き書式を組み合わせたり、数式(関数)を組み合わせる必要があるってことです。
2つのプルダウン
プルダウンには2種類あります。
プルダウン

こちらの無印プルダウンは、直接リストを指定するプルダウンです。以前はカンマ区切りで一気に選択肢を指定できましたが、今は 1つずつ作成するしかないです。5個以下くらいの 少ない選択肢ならこれでもいいでしょう。
プルダウン(範囲内)

こちらはセル範囲を選択肢として使うプルダウン。おさえるべきポイントが多いので、後ほどじっくり解説します。
プルダウンの 詳細オプション

データの入力規制の サイドバー下部にある 「詳細オプション」を押すと、上のような設定画面が登場します。
新 プルダウンリストの設定は、非常に「言葉」がわかりにくいんです。ここの言葉も パッと見で理解できません。しかも、選択肢の並び順がなんでこれ?って感じです。

本来は先に 無効なデータの場合(プルダウンリストの選択肢以外を手入力した場合)、注意はするけど許容するのか、入力を拒否するのかを決めましょう。
ちなみに 警告を表示はかなーり地味です。見た目が怖そうな人に「ここは禁煙ですよ」って注意する時くらい弱い注意ですw
もうちょい強めでもいいなと思います。
一方、入力を拒否は強めです。「問題が発生しました」とババーンとダイアログが表示されます。
で、この入力を拒否を設定した状態で、無効なデータが入力された時に 表示されるメッセージを カスタマイズできる機能が
選択したセルのヘルプテキストを表示
です。
で、その下のボックスに入れたテキストが 表示されるようになるんです。
設定画面の操作性が悪いし、ヘルプテキストを表示 が意味がわかりません。ちなみにこれ、警告を表示 を選択した時の 警告のテキストには反映されないし、そっちをカスタマイズできないのも不満です。
3つの表示スタイル(チップ、矢印、書式なしテキスト)

詳細設定を開いた一番下に、やっと表示スタイルが登場します。
チップ表示はいやだ~!!昔のプルダウンの表示がいい!!という人は、ここで「矢印」を選択することで、旧プルダウンの表示にすることが出来ます。
mirも ぶっちゃけ 矢印が一番いいですね。
書式なしテキストは、これも言葉の意味がわかりづらいです。これに設定すると、▼ボタンが表示されないので、一見してセルがプルダウンの設定されているのかわからなくなります。
さらに、この表示モードだとスマホだと リストが表示されない というデメリットがあります。
選択肢ごとに設定した カラーに関しては、選択後は どの表示形式でも反映されます。
ただし、プルダウン表示中の選択肢に 色付けできるのは チップのみです。

現状だとチップの利点はこれくらいでしょうか。
それでは、先ほど後回しにした 「プルダウン(範囲内)」を見ていきましょう。
プルダウン(範囲内)のポイント

リストをセル範囲で指定するプルダウンは、直接入力よりも機会は多いでしょう。以下の特徴を理解して使うことで、範囲指定のプルダウンはもっと活用できるはずです!
■プルダウン(範囲内)のポイント
・基本は絶対参照。自動で $は付く
・選択範囲内のリストは 一意(UNIQUE)になる
・空白は無視される(空白を選択肢にできない)
・複数行・複数列も指定可能
・関数は利用できない
一つずつ見ていきましょう。
基本は絶対参照。自動で $は付く

セルを選択してから 完了を押すと自動で$がついて 絶対参照になるので、普通に使う分にはあまり意識する必要はありません。
上のgif動画では
'シート11'!D1:D10
を選択して 「完了」を押して一度閉じた設定を再度開くと
='シート11'!$D$1:$D$10
と自動的に $が付与されて、絶対参照になっているのがわかります。
A1からA10にプルダウンを設定した場合、どこを開いてもD1:D10に入力されている 1~10が選択できてますね。

これを 範囲ボックスの$を手動で削除した場合は

A1セルのプルダウン・・・D1:D10
A2セルのプルダウン・・・D2:D11
A3セルのプルダウン・・・D3:D12
と参照が下にズレていきます。D11以降は空白セルなので、

このように 下にいくほど選択肢が減っていきますw
このリスト範囲の相対参照は、Googleスプレッドシートでは長い期間できませんでした。
だから 以前は リストをズラしたい場合は、選択肢ごとに一つ一つ プルダウン範囲を手作業で設定するなんてことをやっていたわけです。懐かしいw
「でも、相対参照のプルダウンリストっ使うことないんじゃね?」
と思うかもしれませんが、実は 連動プルダウンで使うことがあります。これは次回触れます。
選択範囲内のリストは 一意(UNIQUE)になる

これは便利な機能なんですが、Googleスプレッドシートの プルダウンは リストを自動で重複排除してくれます。
上のように 1や 2が複数登場する範囲を プルダウンのリスト範囲としても、プルダウンで表示される選択肢 は 1,2,3,4,5 となります。
UNIQUE関数を使ったのと同じ効果ですね。
空白は無視される(空白を選択肢にできない)

リスト範囲の空白は無視されます。便利なんですが、空白を選択肢に入れたいと思っても出来ないのが残念です。リストの直接指定でも 空白選択肢は自動で除去されてしまいます。
さらにいえば、スペースのみの選択肢も無視となります。半角、全角問わず、複数回の繰り返しであっても、スペースも選択肢とすることは
できません。(ただ、これは活用どころがあります。後ほど小ネタで登場します)
空白の選択肢がないということは、一度選択したものをリセットしたい場合、マウスだけでは空白に戻す方法がなく、キーボードの Deleteやバックスペースを使う必要があります。
ちなみに 空白は自動除去されますが、エラー(#N/Aや#VALUE!など)は除去されず、そのまま選択肢に組み込まれます。
複数行・複数列も指定可能

リストとするセル範囲は 1列または1行である必要はなく、意外と 複数行複数列の範囲も指定できます。
スキャン方向は 左から右の横方向優先なので、動きとしては TOCOL関数と同じような感じかもしれません。
つまり関数であらわすと、
D1:F3 をプルダウンのリスト範囲とした場合の選択肢
↓
UNIQUE( TOCOL( D1:F3, 1 ) )
こんな感じと言えるでしょう。
関数・数式は利用できない

これは 仕様変更で変わることを期待してたんですが、Googleスプレッドシートでは残念ながら リストの範囲指定に関数を使うことが出来ません。
INDEXのような セル参照を返す 関数でもダメです。
これが使えれば、かなり自由度の高い連動プルダウンが作れるんですが・・・。
現状は 数式の結果を出力した セル範囲を リスト範囲として指定するしかないです。
Excel と Googleスプレッドシートの プルダウン比較
このプルダウンリストの範囲指定に関数・数式が利用できないという点で、Excel勢はGoogleスプレッドシートのプルダウンは使いづらいとディスってくることが多いんですが・・・。
本当に Googleスプレッドシートのプルダウンは Excelに比べてダメダメなんでしょうか?
Excel vs スプレッドシート のプルダウン比較サマリ

若干 Googleスプレッドシートに忖度した比較表なので、上級エクセラーからお𠮟りを受けそうですがw しかも Excel側の本丸である 365バージョンは mirの環境では使えないんですよね。。買い切り版も 個人PCだと 2019だしw この点はご容赦ください。
とディスクレーマーを述べた上で、以外と Googleスプレッドシートに ○ が多く、Excel側は ✖となってるいる項目が多いのがわかりますよね。
もちろん データの入力規制における 細かい制御は Excel(インストール版)の方が圧倒的に便利です。

エラーメッセージも 停止、注意、情報と 3種あって、それぞれにメッセージを指定できます。
また、入力時に説明を表示することも可能。
無料のオンライン版は 設定は簡略化されてますが、メッセージは わかりやすい表示だなと思います。

とはいえ、Googleスプレッドシートのプルダウンも色々良い点はあります。
1. リストの自動UNIQUE機能

プルダウン(範囲内)のポイントでも触れましたが、Googleスプレッドシートの プルダウンリストは 選択した範囲を自動で重複排除し、一意(UNIQUE)な値にしてくれます。
これ当たり前じゃないんです!!ありがたいことなんです!!

インストール版の 昔ながらの Excelは 範囲の値がそのまま リストになります。重複の削除はしてくれないので、上のように「りんご」や「ばなな」など 複数回登場するテキストは、複数リストに登場しちゃいます。
昔はこういうもんだって感覚でしたが、今思うとすごーく不便ですね。
Excelではなく、Googleスプレッドシートのから入った若い人には衝撃的かもしれません。
一方、Excelに慣れている人がGoogleスプレッドシートを使うと、別セルに UNIQUE関数で 一意のリストを用意いてから、それを範囲設定してたりします。これ不要です!

Web上で動く Excelオンラインは Googleスプレッドシートに使いのか、自動で重複排除され 一意の値でリスト化してくれます。
2. セル入力でリストを絞り込み

プルダウンリストが大量にあった場合、目視で探すんじゃなくて 部分的なキーワードを入れて絞り込み出来ると便利ですよね。
Googleスプレッドシートだと、このセルの手入力による リストの絞り込みが出来るんです!!

これも インストール版の Excel では出来ないけど、Excel オンラインだと出来るんです。
でも、Excelオンライン版は Googleスプレッドシートと微妙に挙動が違います。

違いがわかりましたでしょうか?
先頭の文字であれば、Googleスプレッドシートも Excelオンラインも 同じように絞り込みできました。
しかし、途中の文字(上の画像だと 川)を入れた場合は、Googleスプレッドシートは 山川や田川 といった 川を含む 候補に絞り込まれたのに対し、Excelオンラインは 候補が表示されません。
このことから、Googleスプレッドシートは 「○○を含む」で絞り込み、Excelオンラインは 「○○から始まる」で絞り込みをしているのがわかります。
いやいや「○○から始まる」で十分でしょって人もいるでしょうが、やはり 含むの方が絞り込みの際に便利ですね。なので、ここは Excelオンラインを△としています。
3. 複数列・行のセル範囲リスト指定

これも 前述しましたが、Googleスプレッドシートでは 複数行・複数列のセル範囲を プルダウンのリストに指定できます。
一方Excelの場合は インストール版、オンライン版どちらもセル範囲を指定する場合は、単一の行または列である必要があります。
4. 空白を選択肢に含める

選択肢に空白を入れることは、GoogleスプレッドシートもExcelオンラインも出来なくて、インストール版 Excelでのみ対応しています。
今までと逆パターンですね。

Excel オンラインでは設定画面で 「空白を無視する」のチェックを外すことが出来るにもかかわらず、これを適用しても 空白セルは無視されてしまいます。
インストール版 Excelで 空白を選択肢に設定した Excelをアップロードしても、結局オンライン版では 空白なしのリストになってしまうので、対応してないってことだと思われます。
※もし使い方が違う場合はコメントでご指摘ください。
5. カンマ区切りでリスト指定
Googleスプレッドシートでは 仕様変更の際に改悪されて 失われた機能ですが 、Excel は インストール版でもオンライン版でも対応しています。

CSVデータのコピペなんかで使えて便利ですよね。
これは Googleスプレッドシートは出来なくなっちゃったんで、Excelが羨ましい時もあります。
6. 選択時のカラー表示

Excelには 選択肢の色設定はありません。さらに 選択時のプルダウンリストの表示を色付けできるのは、 Googleスプレッドシートで チップ表示だけの機能となります。
まぁ条件付き書式で 選択後に 色付けすりゃいいですし、そこまで需要はないかもしれません。
7. 選択肢を関数で生成

最後はコレです。
Excelでは リストの範囲に 関数を組み合わせた式を入れることで、リストとして参照するセル範囲を可変にすることが出来ます。
よく使われる 式のパターンが
クロス表を用意して INDEX + MATCH で リストを絞り込み
名前の定義で リスト指定する範囲に名前を付けて INDIRECT で呼び出す
こんなやり方です。
連動プルダウンに関連するネタなので、設定する式の詳細なんかは次回触れたいと思います。ただ、
Excelなら プルダウンリストの範囲にどんな式でも使えるか?
というと、そんなこともないようで、 残念ながらExcel2021で検証しましたが、 UNIQUE関数 や FILTER関数は プルダウンリストの範囲に使えませんでした。

恐らく 配列を返す式は NGで、範囲を返す式なら OKなのかと思われます。

じゃあ XLOOKUPを上からと下からで検索かけて : (範囲参照演算子)でリスト生成できるんかな?と試したら、より具体的なNGメッセージが返ってきました。
データの入力規則 基準には、 参照演算子 (共用体、 交差、 範囲など)、配列定数、またはLAMBDA 関数を使用できません。
ご丁寧に Excel2021では使えない LAMBDAもダメってメッセージが返ってきましたw なんでも式で出来るわけじゃないみたいです。
ちなみに Excelオンラインでは、範囲に式を設定できそうで出来ません。

「続行しますか?」と聞いてくるくせに 「適用」が押せないというw
ただし、インストール版のExcel で 式で範囲指定したプルダウン を用意したExcelファイル(ブック)を用意して、それを アップロードして Excelオンラインで開いた 場合は 問題なく動きます。

Excelオンラインで 式を使った 連動プルダウンを使いたい場合は、インストール版で作成したものを オンライン版で利用する、という手順になります。というわけで、使えるけど作れないので △。
じゃあ、インストール版のExcelで作成した式を使った連動プルダウンを Googleドライブにアップロードして 互換表示で操作したら どうなるか?

もしや、しれっと動いたり?と期待しましたが、やはりダメでした。「読み込み中」の表示のままリストが表示されません。
現状はどうやってもスプレッドシート(互換表示の Excelファイルを含む)は、プルダウンリストの 選択肢の範囲指定に 式を組み合わせることは出来ないみたいです。
このように、いくつかの機能で比較してみると Googleスプレッドシートのプルダウンが 決してExcelに比べて劣っているわけではない、って感じたんじゃないでしょうか?悪くないんですよー。
リスト(選択肢)の生成に関数が使えないのは 大きいマイナスポイントではありますが、自動UNIQUE機能や入力による選択肢の絞り込み、カラー表示など Googleスプレッドシートのプルダウンにも良い点はいっぱいあるんです。
Googleスプレッドシート プルダウン小ネタ
連動プルダウンは 長くなるので次回にして、最後に幾つか小ネタを紹介して今回は終わりとしましょう。
プルダウンの キーボード操作
Googleスプレッドシートのプルダウンは セルを選択時に Enterで リストを開くことが出来ます。

Enter でリストを開き、↓ キーで 選択肢に移動、再度Enterで選択 &一つ下のセルへ。このように シンプルなキーボード操作で 1列のデータが サクサク入力できます。
一方、Excelの場合は 選択セルでリストを開くには
Alt + ↓
というショートカット操作が必要になります。Enterで選択を確定してもセルのフォーカスは今のままで一つ下のセルをフォーカスするには 再度Enter、もしくは↓キーが必要になります。
ショートカットを覚える必要がありますし、ちょっと手数が多いですね。

でも、インストール版の Excelには 簡易プルダウンという機能があります。
これは データの入力規制でプルダウンを設定していなくても、連続データの一つ下のセルを入力する際に Alt + ↓ を押すことで、上で使われたデータが 選択肢として表示されプルダウンのように選択できる機能です。
しかも、データは自動で 一意になり、かつ 昇順で並び替えされたものとなります。(Excel2019で確認。バージョンによって違うかも)
ただし 使えるのは文字列限定で、数値や 日付では使えません。さらにセルが連続してデータが入っている必要があります。(間に空白セルを挟むと使えない)また、Excelオンラインでも使えない機能です。
ただ、Excelオンラインの場合でも 通常の プルダウンで Alt + ↓ によるリスト表示は可能で、さらに オンライン版では F2 や スペースキー(日本語入力オフ時)でリスト表示も可能です。こっちの方が簡単かもしれません。
プルダウンで スマートチップを選択肢にする

Googleスプレッドシート(ドキュメント)ならではの機能の一つに スマートチップがあります。
GoogleChatやコメント時に メンション(宛先指定)する時と同じように、半角の@を打つと 連絡先情報や Googleドライブ内のファイル、カレンダーの予定、地図などが 候補として表示され、続く文字で絞り込み(検索)することも可能。
チップの魅力は単なるリンクと違って、画面遷移せずに シート上で情報をプレビューしたり呼び出したり出来る点で、たとえば 地図情報なら ランドマーク的な名前を入れれば 上のように検索候補に表示することが可能です。

このスマートチップを入れたセル範囲を プルダウンリストに指定することで、スマートチップを選択肢にしたプルダウンを作成できます。

プルダウンで表示される 地図チップも 同じようにプレビュー表示で Googleマップと連動しています。しかも通常では 色設定ができない地図チップに、自由に色付けできるのもいい感じです。
色々出来そうなんで、プルダウンと スマートチップを組み合わせた面白い事例があれば、また紹介したいと思います。
プルダウンで画像を選択する

スマートチップに続いて、こちらも Googleスプレドシートの強みの一つセル内画像とプルダウンの組み合わせを検証してみましょう。

ただし、残念ながら 画像が入ったセルをそのままプルダウンの選択肢にはできません。代替テキストを入れてもダメでした。
じゃあどうするか?
名前付き範囲 + プルダウンの選択肢を式にする
という方法をつかいます。

まずは 画像を入れたセル毎に 名前付き範囲を設定しましょう。この名前を使って呼び出します。

プルダウンの選択肢は このように =を入れた式として用意します。
名前付き範囲の一番簡単な使い方、
=設定した名前
でその範囲を呼び出す式を使っています。
さらに、ここで重要なのは一番下の空の選択肢です。
実はこれ半角スペースが入ってます。何も入れないと「完了」を押した際に削除されてしまいますが、半角スペースを入れた選択肢は、プルダウンの選択肢には表示されませんが裏で残った状態になります。
なぜこれが重要なのか? 実は、 =で始まる式を選択肢にした場合は、
数式で参照された結果と =出始める式の文字列
を 比較して、リストにないものが選択されたと判断されてしまうのです。
設定を入力を拒否としていた場合は、当然以下のように表示され選択ができません。

画像 も半角スペースも 空白と同じ扱いなのか、この半角スペースの選択肢を用意しておくことで、名前付き範囲を参照した画像選択が可能となります。

FORMULATEXT関数で 式を出力したセルを用意することで、セル範囲をリストにすることも可能。その際は空白セルを含めて範囲指定することで、先ほどの半角スペースによる回避テクと同じ効果が得られます。
とはいっても、最近は Excel側もセル内画像に徐々に対応してきてるんですよね・・・。既に IMAGE関数は 365だけじゃなく 無料の Excelオンラインでも利用できるし、セル内への画像挿入も Microsoft 365 Insider では使えるようになってるので、そのうち一般へも展開されるでしょう。
しかも

Excelの IMAGE関数は引数に 代替テキストを持てる仕様。

このIMAGE関数を入れたセル範囲を プルダウンのリストに指定すると・・・。
そのまま 代替テキストが選択肢になり、選択すると画像になるんです!!
うーん簡単。
ちなみに Googleスプレッドシートは 挿入で入れた画像には 代替テキストは設定できますが、IMAGE関数には 代替テキストを設定する引数は存在しません。
このExcelオンラインで使える IMAGE関数の 代替テキストは、XLOOKUPで検索ヒットさせたり、COUNTIFで数えたりは出来ないようなので、今のところは 関数では拾っていないようですが、今後これが関数からも参照できるようになると 強そうですね。
Googleスプレッドシートに優位性があったIMAGE関数やセル内画像 も、 Excel側の追い上げが凄いです。どうする Google!
数式が入ったセルを選択肢として 値化する
プルダウンは 数式が入ったセルをリストとして参照した場合、その式の結果を値化するという特性があります。
イメージとしては式の結果をそのままコピペすると 式になっちゃうけど、コピーして値を貼り付けすることで 値として固定する感じです。
過去にこれを応用したネタを2つほど書いてるので紹介しておきます。
NOW関数とプルダウンを組み合わせた 簡易タイムスタンプ
チェックボックスと反復計算 にプルダウンを組み合わせた GASいらずの スピンボタン
どちらも 面白い事例じゃないでしょうか? 反復計算とか マニアックなネタ好きなんですよね~。
次回は、連動プルダウンを!
今回は Googleスプレッドシートの プルダウンの 2022年末の仕様変更、基本、Excelとの比較、そして小ネタを紹介しました。
なんか自分で書いてても、一番おーってなるのが Excelオンラインの IMAGE関数と組み合わせた 画像のプルダウンって気もしますが・・・。
次回はプルダウンネタの続き、関数を使って 動的なリストが生成できない Googleスプレッドシートで、どう連動プルダウンを実現するか? を書きます。
ネット上で出回ってる方法とは別の方法も検証したいと思います!
いいなと思ったら応援しよう!
