Office 2019 Excel 2019

リストボックス(コンボボックス)の選択項目でセルの行に色を付ける

投稿日:2022年8月23日 更新日:

フォームコントロールのリストボックス、またはコンボボックスを設置して、リストで選択した項目を含むセルの行に塗りつぶしを設定します。

リストボックスは、選択肢が表示されている状態なので、すぐに選択できるというメリットがあります。

コンボボックスは、設置領域が少なくて済みます。

条件付き書式の数式でFIND関数とINDEX関数を使用して設定します。

リストボックスとコンボボックス

参考入力規則のドロップダウンのリストから選択した値を含むセルの行に色を付ける方法は、以下の記事で解説しています。

UNIQUE関数で重複しない値をリスト化して表内の該当セルを塗りつぶす

Excel2021とMicrosoft 365のExcelでは、UNIQUE(ユニーク)関数を使用することができます。 UNIQUE関数を使 ...

続きを見る

週日予定表の作成

簡単な予定表を作成します。

土日を省いた週日のみの予定表を作成します。

セル[A2]に月の第一月曜日の日付を入力します。ここでは[10/3]と入力します。

セルの書式設定のユーザー定義で、曜日を表示します。

キーボードから[Ctrl]+[1]を押して、[セルの書式設定]ダイアログボックスを表示します。

[表示形式]タブの[ユーザー定義]で種類のテキストボックスの末尾に[(aaa)]を追加して、[OK]ボタンをクリックします。

m"月"d"日"(aaa)

[セルの書式設定]の[ユーザー定義]

セル[A2]には、以下のように表示されます。

日付の入力

フィルハンドルにマウスポインターを合わせて下へドラッグします。

フィルハンドルをドラッグ

右下に[オートフィルオプション]が表示されますので、クリックして[連続データ(週日単位)]を選択します。

土日を省いた週日が表示されます。ここでは、10/21までの予定表にします。

[オートフィルオプション]の[連続データ(週日単位)]を選択

B列に予定を入力します。

予定表の完成

参考予定表の作成については、以下の記事でも解説しています。参考にしてください。

年と月を選択するだけで繰り返し使用できる予定表を作成(関数使用)

Excelで予定表(スケジュール表)を作成することは多いと思いますが、毎月、作成するのは面倒ですね。 ここでは、[年]と[月]を選択するだけ ...

続きを見る

リストボックスの作成

まず、リストボックスに表示したい内容を別シートに作成します。

ここでは、[Sheet2]のセル[A1]からセル[A5]までに入力します。

リストの最後には、解除用の項目を入力しておきます。

Sheet2にリストボックスに表示したい内容を入力

[開発]タブの[コントロール]グループにある[挿入]をクリックして、[フォームコントロール]の[リストボックス(フォームコントロール)]をクリックします。

[開発]タブが表示されていない場合は、[オプション]ダイアログボックスの[リボンのユーザー設定]で設定します。以下の記事を参照してください。

[開発]タブの表示とマクロのセキュリティ設定

Office2010から[開発]タブを表示する方法が変わりました。 Office2010以降は[オプション]ダイアログボックスの[リボンのユ ...

続きを見る

[開発]タブの[挿入]-[フォームコントロール]の[リストボックス]

図形と同じような操作で、予定表の近くにドラッグして挿入します。サイズや位置は後で編集できます。

リストボックスのようなフォームコントロールは、[Ctrl]キーを押しながらクリックすると選択できます。

リストボックスの挿入

コントロールの書式設定

リストボックスで右クリックします。

ショートカットメニューから[コントロールの書式設定]をクリックします。

ショートカットメニューの[コントロールの書式設定]

[コントロールの書式設定]ダイアログボックスが表示されます。

[コントロール]タブの[入力範囲]の[ダイアログボックス拡大/縮小]ボタンをクリックします。

[コントロールの書式設定]ダイアログボックスの[コントロール]タブ

[Sheet2]を選択して、セル[A1]からセル[A5]までを選択します。再度、[ダイアログボックス拡大/縮小]ボタンをクリックします。

Sheet2のリスト範囲を選択

[リンクするセル]も同じように[ダイアログボックス拡大/縮小]ボタンをクリックして[Sheet2]のセル[B1]をクリックします。

[コントロールの書式設定]が[オブジェクトの書式設定]に変わりますが問題ありません。[ダイアログボックス拡大/縮小]ボタンを使用すると名前が変わるようです。

[オブジェクトの書式設定]ダイアログボックスの[コントロール]タブ

[リンクするセル]には、以下のように表示されます。

[選択の種類]は既定のまま[単一選択]にして[OK]ボタンをクリックします。

[オブジェクトの書式設定]ダイアログボックスの[コントロール]タブ

リストボックスにリストが表示されます。

リストボックスの周りにあるサイズ変更ハンドル(〇)にマウスポインターを合わせて、サイズを調整します。

リストボックスのサイズ変更ハンドル

参考[コントロールの書式設定]ダイアログボックスの[コントロール]タブにある[3-D]の表示はオンにしてもオフにしてもかまいません。

オンとオフの違いは、以下のとおりです。

[3-D]の表示のオンとオフ

リストボックスの動作確認

[Sheet1]のリストボックスの動作を確認します。

リストボックス以外のワークシートのセルを選択すると、リストボックスが使用できるようになります。

リストボックスの上から2番目の項目を選択すると、

リストボックス

[Sheet2]のセル[B1]に[2]と表示されます。上から順に番号で表示されます。

これでリストボックスの設定は完了です。

Sheet2のリンクセル

条件付き書式の設定

次に条件付き書式の設定をします。

条件付き書式は、以下の3つを指定します。

  • 設定範囲
  • 実行するための条件
  • 条件に当てはまる場合の書式

条件付き書式で書式を設定したい範囲を選択します。

ここでは、セル[A2]からセル[B16]です。

[ホーム]タブの[スタイル]グループにある[条件付き書式]を選択して、[新しいルール]を選択します。

[条件付き書式]の[新しいルール]

[新しい書式ルール]ダイアログボックスが表示されます。

[数式を使用して、書式設定するセルを決定]を選択します。

[新しい書式ルール]ダイアログボックス

[次の数式を満たす場合に値を書式設定]のテキストボックスに以下の数式を入力して、[書式]ボタンをクリックします。

数式内の[$B2]は列固定の複合参照になります。

[$]の入力は、[F4]キーを使うと便利です。連続して押すと参照が切り替わっていきます。

=FIND(INDEX(Sheet2!$A$1:$A$5,Sheet2!$B$1),$B2)

[新しい書式ルール]ダイアログボックスで数式を入力

[セルの書式設定]ダイアログボックスで任意の書式を設定します。

ここでは、[塗りつぶし]タブで塗りつぶしの色を選択します。[OK]ボタンをクリックします。

[セルの書式設定]ダイアログボックスの塗りつぶしを設定

[新しい書式ルール]ダイアログボックスに戻りますので、[OK]ボタンをクリックします。

[新しい書式ルール]ダイアログボックス

INDEX関数

INDEX 関数 - Microsoft サポート(Microsoft)

=INDEX(参照,行番号,[列番号],[領域番号])  [列番号]と[領域番号]は省略可能です。

指定された行と列が交差する位置にある値またはセルの参照を返します。

FIND関数

FIND 関数、FINDB 関数 - Microsoft サポート(Microsoft)

=FIND(検索文字列,対象,[開始位置])  [開始位置]は省略可能です。

対象のセルの中に[検索文字列]が[開始位置]から何番目にあるかを返します。大文字と小文字の区別がされます。

文字列がみつからない場合は[#VALUE!]が返されます。

動作確認

条件付き書式の動作を確認してみます。

リストボックスから[会議]を選択すると、予定表内の[会議]がつく予定の行に設定した色がつきます。

[会議]を含むセルの行が選択された表

リストボックスから[セミナー]を選択すると、予定表内の[セミナー]を含む予定の行に設定した色がつきます。

[セミナー]を含むセルの行が選択された表

[選択解除]を選択すると、塗りつぶしが無くなります。該当の文字列があるセルがないからです。

[選択解除]を選択して塗りつぶしが消えた表

完全一致で検索したい場合

完全一致で検索したい場合は、条件付き書式の数式を以下のように変更します。どちらでもかまいません。

リスト項目の完全一致で検索した表

=$B2=INDEX(Sheet2!$A$1:$A$5,Sheet2!$B$1)

=COUNTIF($B2,INDEX(Sheet2!$A$1:$A$5,Sheet2!$B$1))

条件付き書式の数式

コンボボックスも同じ設定で設置可能

リストボックスの代わりにコンボボックスを使用することもできます。

コンボボックスのほうが、設置領域は少なくてすみます。

コンボボックスで書式設定

[開発]タブの[コントロール]グループにある[挿入]から[コンボボックス(フォームコントロール)]を選択して、挿入します。

[開発]タブの[挿入]から[コンボボックス(フォームコントロール)]を選択

挿入したコンボボックスで右クリックして、ショートカットメニューの[コントロールの書式設定]をクリックします。

ショートカットメニューの[コントロールの書式設定]

[コントロールの書式設定]ダイアログボックスの[コントロール]タブで、リストボックスと同じように[入力範囲]と[リンクするセル]を設定します。

ドロップダウンリストの行数は、項目の数に合わせます。項目数より大きくてもかまいません。

条件付き書式はリストボックスで設定した内容と同じです。

コンボボックスの[コントロールの書式設定]ダイアログボックス

参考データの入力規則で作成するドロップダウンリストと同じような形ですが、コントロールフォームのコンボボックスは、オブジェクトとして自由に移動させたり、サイズなども調整できます。

入力規則のドロップダウンはコピーした文字列を貼り付けしたりできますが、コントロールフォームのコンボボックスは選択しかできません。

セルの入力でなければ、フォームコントロールのコンボボックスもおすすめです。

以下は、[データ]タブの[データの入力規則]で設定しています。条件付き書式の数式にFIND関数を使用することで、文字列を含むセルの検索ができます。

[データの入力規則]で設定したドロップダウンリスト

チェックボックスのオン/オフで条件付き書式を切り替える方法については、以下の記事で解説しています。

同じサンプルの表を使っていますので、分かりやすいと思います。

チェックボックスを使って条件付き書式のオンとオフを切り替える

フォームコントロールのチェックボックスを使って、チェックがオンであれば条件付き書式の書式を設定して、オフにすると解除するような仕組みを作るこ ...

続きを見る

チェックボックスで条件付き書式を切り替える

以下は、Excelのフォームコントロールを使った記事です。

オプションボタンの挿入(フォームコントロールとActiveXコントロール)

Excelでオプションボタンを挿入する方法です。 オプションボタンは、複数の選択肢の中から1つを選択するときに使用します。 また、ワークシー ...

続きを見る

水平スクロールバーを配置してグラフ系列の期間をずらして表示する

Excelのフォームコントロール内のスクロールバーを利用して、グラフの表示期間をずらして表示することができます。 水平スクロールバーの両端に ...

続きを見る

スピンボタン(フォームコントロール)を設置してクリックで数値を増減

Excelのフォームコントロールの中には、さまざまな部品が用意されています。 スピンボタンを使用すると、クリックで数値を増減できます。 数値 ...

続きを見る

チェックボックスがオンのセルのみを自動集計(個数と合計)

Excelでチェックボックスを使用してチェックした個数と価格の合計を求める方法を紹介します。 セルにチェックボックスを挿入した後、COUNT ...

続きを見る

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

関連記事30件

Profile

-Office 2019 Excel 2019

Copyright © 2001-2024 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2024 AllRights Reserved Powered by AFFINGER4.