• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel(エクセル) 名前定義をしたリストから、indirect関数を利用して選択入力できるようにしたいのですが… )

Excel(エクセル)で名前定義したリストから選択入力する方法

このQ&Aのポイント
  • Excel(エクセル)の名前定義をしたリストから、indirect関数を利用して選択入力できるようにしたい場合、参照範囲に複数の範囲があるとリストが表示されないことがあります。解決法と表示されない理由について教えてください。
  • Excel(エクセル)の選択入力で、名前定義したリストを使いたい場合、OFFSET関数を利用する方法もありますが、こちらでもリストが表示されないことがあります。解決法と表示されない理由について教えてください。
  • Excel(エクセル)で名前定義したリストから選択入力する方法で、参照範囲に複数の範囲がある場合やOFFSET関数を利用する場合に、リストが正しく表示されない理由と解決法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#204879
noname#204879
回答No.5

(シート名を指定する必要がない)次のような手法は如何でしょうか? Sheet2    A    B    C     D 1  数字1 英語1   数字2 英語2 2   11 Andrew    31 Siew 3   12 Andy     32 Steve 4   13 Bob     33 Stu 5   14 Byron    34 Tibor 6   15 Carol    35 Tim 7   16 Chris    36 Tom 8   17 Clarence   37 Wellington 9   18 Dan     38 Wes 10   19 Dennis    39 William 11   20 Don     40 Wing Sheet2 において 1.範囲 A1:D100 を選択 2.[挿入]→[名前]→[作成]を実行 3.“上端行”だけにチェック入れ 4.[OK]をクリック Sheet1 において 5.セル A1 および B1 に[入力値の種類]を“リスト”とし、かつ、[元の値]を   次とする[入力規則]を設定   A1: 数字1,数字2,英語1,英語2   B1: =OFFSET(INDIRECT(A1),,,COUNTA(INDIRECT(A1)))

cpdqp454
質問者

お礼

 お礼遅れました。  できました。すばらしい。諦めかけてましたができるもんなんですねー。ありがとうございました。  ただ、「2.[挿入]→[名前]→[作成]を実行」で具体的に何をしてるのかわかりませんが…。すいません、素人質問で…。これくらいは自分で調べます。  親切に教えていただき本当にありがとうございました。

その他の回答 (5)

noname#204879
noname#204879
回答No.6

[ANo.5この回答へのお礼]に対するコメント、 》 [挿入]→[名前]→[作成]を実行」で具体的に何をしてるのかわかりませんが… [ヘルプ]の「ブック内のセルに名前を付ける」を読めばよろしいかと。 要は、セル(範囲)に名前を付けているのですよ!

noname#204879
noname#204879
回答No.4

[ANo.2この回答へのお礼]に対するコメント、 「元の値はエラーと判断されます。続けますか?」というメッセージの再現テストをしていますが、成功しません。ところで… 最初の質問中で、「Sheet1のセルA1」「の入力規則の種類をリストとして、元の値を」 「=数字,英語」「としています。」「ここまでなら何の問題もないようですが…」と書いておられますが、私の場合、問題が出ます。 [データの入力規則]メニューの[元の値]ボックス内に式 =数字,英語 と入力して[OK]をクリックした時点で「条件 データの入力規則 には、OR 演算、AND 演算、配列定数は使用できません。」というエラーが出るのです。 貴方の場合は本当に「何の問題もない」のですか?

cpdqp454
質問者

補足

すいません。誤記です。「=」は不要でした。正確にはデータの入力規則]メニューの[元の値]ボックス内に「数字,英語」と入力しました。

noname#204879
noname#204879
回答No.3

》 質問(2)) Sheet2の"数字"と"英語"の参照範囲を 》    ・=OFFSET(Sheet2!$A$1,,,COUNTA(Sheet2!$A:$A)) 》    ・=OFFSET(Sheet2!$B$1,,,COUNTA(Sheet2!$B:$B)) 》 とした場合も同様にSheet1!B1にはうまくリストが表示されません。 何かエラーメッセージが出るならそれもキチンと示すべきかと。 「抽出条件 データの入力規則 で、他のワークシートまたはブックへの参照は使用しません」では?

cpdqp454
質問者

補足

エラーメッセージは 「元の値はエラーと判断されます。続けますか?」 です。 「抽出条件データの入力規則で、他のワークシートまたはブックへの参照は使用しません。」 のエラーメッセージは、Sheet1のセルB1の元の値に直接    =OFFSET(Sheet2!$A$1,,,COUNTA(Sheet2!$A:$A)) とした時に現れます。

noname#204879
noname#204879
回答No.2

[入力規則]が受け入れる「リスト」は“単一列内の連続した範囲”の単一リストでなければならない、が私の理解です。 貴方は、Sheet1!B1 において(結果的に)複数のリスト(範囲)を指定しているので、期待する結果が得られないのだと思います。

cpdqp454
質問者

お礼

回答ありがとうございます。 どうやらそのようですね。試しに"数字"の参照範囲である    Sheet2!$A$1:$A$10,Sheet2!$C$1:$C$10 の値を    Sheet1!$A$2:$A$11,Sheet2!$C$2:$C$11 にコピーして、 Sheet1!のセルB1の入力規則の元の値を上記と同じ    =Sheet1!$A$2:$A$11,Sheet2!$C$2:$C$11 にすると、エラーメッセージが出ました。 質問(1)に関してはそういうもんなんだということで納得しました。 どなたか質問(2)についてお分かりになられる方おられましたらお願いいたします。

noname#79209
noname#79209
回答No.1

実験はしていませんが、 ・"英語"の参照範囲は =Sheet2!$B$1:$B$10,Sheet2!$D$1:$D$10,Sheet2!$E$1:$E$10 と、複数列を一度に指定せず、一列づつに分解して指定したらどうでしょう。

cpdqp454
質問者

お礼

回答ありがとうございます。 やってみましたが駄目なんです。 "数字"の方もうまくいきませんから…。

関連するQ&A

専門家に質問してみよう