次の方法で共有

名前の定義を使ったドロップダウンリストの連動ができない

Anonymous
2024-04-03T01:47:38+00:00

A地区を選んだら隣のセルにA地区の学校候補のドロップダウンリストが出るようにしたい。

別シートで設定した「名前の定義」(←地区内の学校候補)を使用してリストを連動させようとしていて、名前の定義もできている。

A1に地区、B1に学校候補を入れようとして、B1に「=INDIRECT(A1)」を入れると「REF!」がでる

そのままA1に地区を入力すると、「VALUE!」がでる。なあぜなあぜ

Microsoft 365 と Office | Excel | ビジネス向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

  1. ひまじん 17,185 評価のポイント
    2024-04-03T15:15:16+00:00

    こんにちは。

    横合いから失礼します。

    通常、A1セルに何も入力していない状態で、B1セルに =INDIRECT(A1) という数式を入れた場合には #REF! エラーが表示されます。

    今回の場合、A1セルに「麻布」や「港」以外の文字列を入力した場合も #REF! エラーになります。

    いずれも正常な動作です。

    また、最新版の Excel( Microsoft365 の Excel、Excel2021 など)以外の旧来の Excel では「スピル」が有効になっていませんので、A1セルに「麻布」や「港」という『名前』を入力した場合に B1セルに #VALUE! エラーが表示されるのも正常な動作です。

    (逆に、このことから、旧来の Excel をお使いなのではと推測しています。)

    ご希望としては、

    『 A1セルに入力した定義された『名前』によって、B1セルに設定したドロップダウンリストの内容を変更したい。』

    もっと言えば、

    『 A1セルに設定したドロップダウンリストと B1セルに設定したドロップダウンリストを連動させたい。』

    といったことでしょうか?。

    その場合、通常は、A1セルとB1セルの両方に「データの入力規則」を設定します。

    提示されている画像を見る限りでは、どちらのセルにも「データの入力規則」は設定されていないように見えます。

    以下、A1セルとB1セルに「データの入力規則」を設定する場合の手順です。

    尚、どちらの手順も、「麻布」と「港」という『名前』が正常に定義されている前提で書いています。

    <手順1>

    ※ A1セルに「データの入力規則」を設定する手順です。

    1. Sheet2 の D2セル(「麻布」)と D3セル(「港」)を選択し、「地区」という『名前』を定義します。
      定義方法はお分かりかと思いますので省略します。
    2. A1セルの内容を削除する。
    3. A1セルを選択した状態で「リボン」の「データ」タブ -> 「データツール」グループ -> 「データの入力規則」を開く。
    4. 「データの入力規則」ダイアログが開くので、「設定」タブの「入力値の種類」で「リスト」を選ぶ。
    5. 「元の値」欄に下記の数式1を入力し、図1のような表示になっていることを確認したら「OK」で閉じる。
      ・数式1
      =地区
      ・図1
      画像

    ※「地区」という『名前』を定義せずに、「元の値」欄に下記のようにリストの値を直接入力しても動作は変わらないのですが、これだと「地区」が増減するたびにこの「元の値」を書き直し、Sheet2 で項目を増減した上で「名前の管理」の各項目を増減・調整することになります。
    ・「元の値」
    麻布,港

    ※「地区」を『名前』として定義しておけば、「元の値」を書き直す手間を省くことが出来、Sheet2 で項目を増減した上で「名前の管理」の各項目を増減・調整すれば済んでしまいます。
    たった一手間を減らせるだけですが、やはり、「地区」という『名前』を定義した上で数式1を使うことをお勧めします。

    <手順2>

    ※ B1セルに「データの入力規則」を設定する手順です。

    1. B1セルの内容を削除する。
    2. B1セルを選択した状態で「リボン」の「データ」タブ -> 「データツール」グループ -> 「データの入力規則」を開く。
    3. 「データの入力規則」ダイアログが開くので、「設定」タブの「入力値の種類」で「リスト」を選ぶ。
    4. 「元の値」欄に下記の数式2を入力し、図2のような表示になっていることを確認したら「OK」で閉じる。
      ※閉じる際には、「元の値はエラーと判断されます。続けますか?」というメッセージが表示されますが、「はい」で進めて問題ありません。
      ・数式2
      =INDIRECT(A1)https://learn-attachment.microsoft.com/api/attachments/d1abc5b7-ebba-4ba7-963d-6c46fa85d538?platform=QnA"https://learn-attachment.microsoft.com/api/attachments/d1abc5b7-ebba-4ba7-963d-6c46fa85d538?platform=QnA" rel="ugc nofollow">https://learn-attachment.microsoft.com/api/attachments/d1abc5b7-ebba-4ba7-963d-6c46fa85d538?platform=QnA"https://learn-attachment.microsoft.com/api/attachments/83d01316-3d3c-49ca-a5f0-c1e524176c10?platform=QnA" title="filestore.community.support.microsoft.com" rel="ugc nofollow">画像

    ※「データの入力規則」の設定が完了すると、A1セルや B1セルを選択した際にセルの右下に下向きの三角印が表示されますので、以降はこれをクリックすることでドロップダウンリストが開きます。

    ※図3は「地区」、「麻布」、「港」という 3種類の『名前』を定義した状態で「名前の管理」を開いたところです。

    ※もし、ドロップダウンリストの表示がうまくいかないようでしたら、図3で各項目を再確認してみてください。

    ・図3

    画像

    ※ Sheet2 の表のセル配置を下記の図4のように変更することで、『名前』の定義の際の自由度を改善することが出来ます。何がどう変わるかは時間のある時にでもご自身でお確かめください。

    ・図4

    画像

    <ドロップダウンリストの使い方の注意点>

    例えば、A1セルのドロップダウンリストから「港」を選ぶと B1セルのドロップダウンリストに表示される内容が変更されます。

    ただし、この時点では B1セルにその内容はいずれも表示されません。

    B1セルのドロップダウンリストを開いて、そこから選ぶことで初めて B1セルにその内容が表示されます。

    こういった動作(仕様)なので、次に、A1セルの内容を変更すれば B1セルのドロップダウンリストの内容も変更されますが、B1セルの内容そのものは変更されずに前の内容が残ってしまいます。

    慣れれば気にならないのですが、どうしても気になるようでしたら、下記のスレッドで解決策の一例を提案していますのでご覧になってみてください。

    ・Excelの入力規制のリストでindirect関数を使用した2つのリストを連動させた際の、選択リセットについてhttps://answers.microsoft.com/ja-jp/msoffice/forum/all/excel%E3%81%AE%E5%85%A5%E5%8A%9B%E8%A6%8F%E5%88%B6/f54d7f2b-ac74-4371-9225-ef24246e2254

    下記の環境で動作確認しています。

    ・Windows11 と Excel2021

    ・Windows10 と Excel2016(「スピル」が有効でない環境。)

    何か不明点があれば、お知らせください。

    ご参考になれば幸いです。

    <修正>

    • 図1の直下の「※「地区」という『名前』を定義せずに、・・・」以下の文章の中で、「元の値」に = は必要なかったため、下記の箇所を修正しました。失礼いたしました。

    修正前: 下記の数式1-1のように
    修正後: 下記のように

    修正前: この数式を
    修正後: この「元の値」を

    修正前: ・数式1-1
    修正後: ・「元の値」

    修正前: =麻布,港
    修正後: 麻布,港

    修正前: 数式を書き直す手前を
    修正後: 「元の値」を書き直す手間を

    • 数式2の後ろに改行が抜けてしまっていましたので追加しました。
      失礼いたしました。
    3 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません

3 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2024-04-03T02:08:58+00:00

    ブックになっておりました…

    1 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  2. Anonymous
    2024-04-03T06:17:47+00:00

    > A1に地区、B1に学校候補を入れようとして、B1に「=INDIRECT(A1)」を入れる

    まず、リスト選択するセル自体は数式セルにしないで下さい。

    > ブックになっておりました

    では、ドロップダウンリストによる選択を有効にしたいセル範囲
    (例えば B1:B10 )を範囲選択した状態で、[データの入力規則]を
    次のように設定して下さい。

    0 件のコメント コメントはありません
  3. Anonymous
    2024-04-03T02:02:04+00:00

    > 別シートで設定した「名前の定義」(←地区内の学校候補)を使用して> リストを連動させようとしていて、名前の定義もできている。

    とりあえず、作成された名前定義の範囲が「ブック」になっているか否かを
    確認されることをお奨めします。

    0 件のコメント コメントはありません