Excelで入力規則のリスト使っていたが、テーブルにしたら使えなくなったとの質問がありました。
入力規則のリストの「元の値」で設定していた参照形式が原因である可能性が高いです。
💡 原因の解説
通常のセル範囲(例: A1:A10)を入力規則のリストの「元の値」として設定している場合、Excelの「テーブル(旧称:リスト)」に変換すると、その参照が機能しなくなることがあります。
具体的には、以下のいずれかが原因と考えられます。
- 絶対参照または相対参照を使用していた:
- 例:
=Sheet1!$A$1:$A$10のように、絶対参照で特定のセル範囲を指定していた場合。 - テーブルは行や列の増減に動的に対応しますが、入力規則の「元の値」が固定のセル範囲を参照しているため、参照がテーブルの範囲と一致しなくなり、リストとして機能しなくなります。
- 例:
- テーブル名を参照していない:
- テーブル(構造化参照)を使う場合、リストの元の値には、従来のセル範囲の代わりにテーブルの列名全体を参照する形式(構造化参照)または定義された名前を使うのが一般的です。従来の参照のままだと、テーブルの特性を活かせません。
🛠️ 解決策:テーブルに対応したリスト設定
テーブルを使用している場合は、以下のいずれかの方法で入力規則の「元の値」を再設定してください。これにより、テーブルの行が増減しても自動的にリストの候補も更新されます。
1. 構造化参照(テーブルの列を参照)を使う方法
これが最も推奨される方法です。リストとして使いたいデータの列全体を、構造化参照で指定します。
- 設定手順:
- 入力規則を設定したいセルを選択します。
- [データ] タブ -> [データの入力規則] を開きます。
- 「元の値」のボックスに、以下の形式でテーブルと列名を指定します。
- 書式:
=テーブル名[列名] - 例: テーブルの名前が「商品リスト」で、リストに使いたい列の名前が「商品名」の場合
- 入力する値:
=商品リスト[商品名]
- 入力する値:
- 書式:
2. 定義された名前(名前の管理)を使う方法
リストに使うセル範囲に「名前」を定義し、その名前を入力規則の「元の値」として使います。
- 設定手順:
- リストに使いたいデータの列(ヘッダーを除く)全体を選択します。
- [数式] タブ -> [名前の定義] で、リストにわかりやすい名前(例:
商品候補)を付けます。 - 入力規則の「元の値」のボックスに、定義した名前を
=をつけて入力します。- 入力する値:
=商品候補
- 入力する値:
ポイント: テーブルの列全体を「名前の定義」で指定する場合、テーブルの行が増減しても自動的に参照範囲が広がるように設定されているか確認してください。
どちらの解決策で試されますか?また、テーブル名やリストの列名がわかれば、具体的な設定例を作成することもできます。
只今太っ腹コラボキャンペーン第2弾実施中!!





コメント