フォームコントロールのリストボックス、またはコンボボックスを設置して、リストで選択した項目を含むセルの行に塗りつぶしを設定します。
リストボックスは、選択肢が表示されている状態なので、すぐに選択できるというメリットがあります。
コンボボックスは、設置領域が少なくて済みます。
条件付き書式の数式で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]までに入力します。
リストの最後には、解除用の項目を入力しておきます。
[開発]タブの[コントロール]グループにある[挿入]をクリックして、[フォームコントロール]の[リストボックス(フォームコントロール)]をクリックします。
[開発]タブが表示されていない場合は、[オプション]ダイアログボックスの[リボンのユーザー設定]で設定します。以下の記事を参照してください。
-
[開発]タブの表示とマクロのセキュリティ設定
Office2010から[開発]タブを表示する方法が変わりました。 Office2010以降は[オプション]ダイアログボックスの[リボンのユ ...
図形と同じような操作で、予定表の近くにドラッグして挿入します。サイズや位置は後で編集できます。
リストボックスのようなフォームコントロールは、[Ctrl]キーを押しながらクリックすると選択できます。
コントロールの書式設定
リストボックスで右クリックします。
ショートカットメニューから[コントロールの書式設定]をクリックします。
[コントロールの書式設定]ダイアログボックスが表示されます。
[コントロール]タブの[入力範囲]の[ダイアログボックス拡大/縮小]ボタンをクリックします。
[Sheet2]を選択して、セル[A1]からセル[A5]までを選択します。再度、[ダイアログボックス拡大/縮小]ボタンをクリックします。
[リンクするセル]も同じように[ダイアログボックス拡大/縮小]ボタンをクリックして[Sheet2]のセル[B1]をクリックします。
[コントロールの書式設定]が[オブジェクトの書式設定]に変わりますが問題ありません。[ダイアログボックス拡大/縮小]ボタンを使用すると名前が変わるようです。
[リンクするセル]には、以下のように表示されます。
[選択の種類]は既定のまま[単一選択]にして[OK]ボタンをクリックします。
リストボックスにリストが表示されます。
リストボックスの周りにあるサイズ変更ハンドル(〇)にマウスポインターを合わせて、サイズを調整します。
参考[コントロールの書式設定]ダイアログボックスの[コントロール]タブにある[3-D]の表示はオンにしてもオフにしてもかまいません。
オンとオフの違いは、以下のとおりです。
リストボックスの動作確認
[Sheet1]のリストボックスの動作を確認します。
リストボックス以外のワークシートのセルを選択すると、リストボックスが使用できるようになります。
リストボックスの上から2番目の項目を選択すると、
[Sheet2]のセル[B1]に[2]と表示されます。上から順に番号で表示されます。
これでリストボックスの設定は完了です。
条件付き書式の設定
次に条件付き書式の設定をします。
条件付き書式は、以下の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 ...