• ベストアンサー

エクセルで名前ボックスを自動で入力することはできま

エクセルで名前ボックスを自動で入力することはできますか? C2~C20までの範囲をB1で入力した文字で名前ボックスに自動入力するように設定したいです。 例えばB1を日付と入力すればC2~C20までの範囲の名前ボックスが 日付と設定されるというようなことです。 B1~B20までを手動入力し、B1の詳細をC2~C20、B2の詳細をD2~D20に入力し、 別シートの選択肢として表示させているからです。 商品コードが変わる度に名前ボックスの名称を変更するのは大変なので よい方法があれば教えて下さい。 具体的な数式を教えて頂けると助かります。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! No.1の keithinさんが的確な回答をされていらっしゃいますので、 入力規則の数式としては全く同じ式になります。 やり方だけの一例です。 ↓の画像のようにSheet2の表にしてみてはどうでしょうか? 黄色い部分を範囲指定 → 仮に 商品 と名前定義しておきます。 左側SheetのA2セルは入力規則 → リスト → 元の値の欄に =商品 としてOK 次にB2セル → 入力規則 → リスト → 元の値の欄に =INDEX(INDIRECT("Sheet2!$B$2:$F$5"),,MATCH(A2,INDIRECT("商品"),0)) としてOK (MATCHの前にカンマが二つです!) これでSheet2のデータ変更があっても対応できると思います。 ※ データ範囲は実際のデータに合わせてみてください。 参考になりますかね?m(_ _)m

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

そういうことはできませんが、ご相談でヤリタイ事は Sheet1のB1:B20に名前の言葉が記入してある Sheet1のC2:V20がそれぞれの名前の詳細の範囲である Sheet2のB2に名前の言葉を記入する 入力規則の数式を、たとえば =INDEX(INDIRECT("Sheet1!C2:V20"),0,MATCH(B2,INDIRECT("Sheet1!B1:B20"),0)) のように設定する と出来ます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで複数シートをまたがって、(名前boxに)一つの名前をつけるに

    エクセルで複数シートをまたがって、(名前boxに)一つの名前をつけるには? エクセルで、シート1 A1~C3、シート2 B2~D4、シート3 C3~E5の範囲に一括でひとつの名前定義を挿入したいのですが、具体的にどうやればいいでしょうか。 教えて下さい。宜しくお願いします。

  • セルに自動的入力させたい

    EXCEL2010を使用しています。 「表1」のような表があるのですが、D列が「子」である、C列のオレンジの部分が空欄なので 手動で入力しないといけません。 条件は装置名が同じである「親」と同じ日付が入ります。 なので結果は「表2」のようになります。 これを関数かVBAで自動的に入力されるようにできないでしょうか? もし関数できたとしてもC列には予め数字が入っている行があるので 空欄に飛び飛びで数式を設定するしかないでしょうか? 何か良い方法があればよろしくお願いします。

  • エクセルで入力した数値によって自動で入力される数式?

    エクセルで台帳を作っているのですが、 別の列のセルに入力した数値によって、 指定したセルに自動でA,B,C等と入力されるようにするにはどのように設定すればいいのでしょうか。 A列に0~1.1なら B列に A 1.2~2.9なら B 3.0以上なら C のように数字の範囲によってABCと表示されるようにしたいのです。 エクセルの数式等は簡単なものしかわからず、どのように調べたらよいかもわかりません。教えていただけたら助かります。

  • エクセルでの入力規則と自動入力について

    質問の前に検索をしてみたのですが、 似たようなものが見つからなかったので、質問させてもらいます。 シート2に名前→定義で「登録者名」と作り シート1での入力を入力規則を使い、リスト(コンボボックス) を設定しました。 シート2では 登録者名 会員番号 AAA  1234 BBB  5678 CCC  9101 DDD  1112 と名前の横のセルには会員番号を作っています。 そこで質問ですが、 シート1で登録者名を入力規則のリスト(コンボBOX) で選択して入力した場合、 隣のセルに自動で会員番号が表示できるような関数などは ないでしょうか? VBAなどはできないので、できれば関数でやりたいと思います。 【シート1】    A      B 1 AAA ▼   1234(←この1234を自動で表示させたい) 2     ▼ 3     ▼ 説明不足かも知れませんが教えてください。 よろしくお願いします。 エクセル2003です。

  • エクセルの自動入力

    皆さんの知恵をお貸し下さい。 エクセルでセルB1に日付を入力して、C1にデータを入力します。 そこで質問なのですが、例えばセルB10にB1と同じ日付を入力したら、C10にC1と同じデータが自動入力される方法とかありますか?(セルC1をC10にコピーするとかではない方法で)

  • エクセルの数式・関数を教えてください。

    入力シートにデータがあり、請求書シートに期間を参照して日付を埋め込みたいと考えています。 期間というものは、請求シートの請求日の前月1ヶ月間を考えています。 入力シート    a    b     c     d 1 日付  商品1  商品2  商品3 2 12/7    100   200   300 3 12/15    40    50   60 4 1/7      70    80   90 請求シート  請求日(AR3)  請求内訳日付欄(C12:C42) C12などの欄の数式で、セルAR3の日付の前月の日付範囲で入力シートの日付欄を抽出したいのです。 いろいろ調べましたが、なかなかうまくいかず困っています。 参考となる数式を教えていただければ、助かります。

  • エクセルにてデータを大きい順に並べ替えることを自動でやりたい

    sheet1をデータ入力用のシートとし、以下のデータが入っています。   A  B  C  D 1 あ 5 2 い 4 3 は 8 4  sheet2は上記のBのデータを大きい順に並べ替えた出力用のシートとし、 以下のように出力されます。   A  B  C  D 1 は 8 2 あ 5 3 い 4 4  sheet1のデータが更新されて大きさの順番が変わると、 sheet2の並び順が自動で変わるように出来るのでしょうか? マクロを使わずに数式でやりたいと思っています。

  • エクセルで日付の自動入力について教えてください

    日付を入力したら、別のセルへ自動で入力した日付の何日か前が入力されるような関数はありますか? ただし、土日祝祭日を除いた日付が自動入力されるようにしたいです。 <例> B2=8/25と手入力した場合 C2=8/25の4日前(土日祝日は除く為、8/19)が自動入力される関数 D2=8/25の5日前(土日祝日は除く為8/18)が自動入力される関数 以下同様

  • エクセル 名前の定義・管理について

    エクセル2007の名前の定義・管理について教えてください。 あるシート(Aシート)のセルの入力規則に他シート(Bシート)の範囲(B2:B4に赤・青・白を入力されている)を定義した名前(名前を色とします)を使用しています。 別途違う目的のためBシートをコピーし、若干修正してCシートを作り、また、その後、Cシートをコピーし、修正してDシートを作りました。ただし、Cシート、Dシートの名前を定義した範囲(赤・青・白)は全く修正していません。この時点で名前の管理から定義された名前を見ると「色」という同じ名前が3つ作成されております。(参照範囲は、それぞれB~Dシートのものと異なっています。) で今回、Dシートが一番最新のもので利用しているので、Dシートの名前を定義した範囲(B2:B4の赤・青・白)を(B2:B5の赤・青・白・緑)と変更したところ、Aシートの入力規則の名前は色ですが、(赤・青・白)しかリストにでてきません。(緑が出てこない)。色という名前が3つあるのがいけないのだと思い、Dシートを参照している以外の「色」の名前を削除したら、Aシートの入力規則は色と入力されているにもかかわらず、全く機能しなくなってしまいました。 いろいろ調べてみたのですが、対処法がわからないので教えてください。なぜ、Dシートを参照している名前の「色」は、入力規則に入力されているにもかかわらず、リンクしてくれないのでしょうか? そもそもシートをコピーしても色という名前が3つできても、最初にリンクしているBシートの名前の「色」しか参照してくれないのでしょうか?なにか方法はありますか? 上手く文章で伝えることができずわかりづらいかとは思いますが、 よろしくお願いします。

  • エクセルの名前の定義について。

    ご覧いただきありがとうございます。 エクセルの名前の定義についての質問です。 (1)【sheet1】 A2:A6に『aa』、 B2:B10に『bb』、 C2:C6に『cc』という名前を付けたとします。 ちなみにそれぞれのセルには文字列が入力されています。 (名前の定義の《範囲》はブックではなく、sheet1) (2)【sheet2】 B2:D6に『aa』、 B7:D15に『bb』、 B16:D20に『cc』と、sheet1と同じ名前を付けました。 それぞれB列・C列・D列には数字が入力されています。 (名前の定義の《範囲》はブックではなく、sheet2) ちなみにA列には、sheet1に入力されている文字列と同じものが入力されています。 A2:A6にはsheet1で『aa』と名前をつけた範囲と同じ文字列。 A7:A15にはsheet1の『bb』と同じ文字列。 A16:A20には『cc』と同じ文字列です。 ここからが本題です! (3)【sheet3】 A2に何らかしら関数を入れて、【sheet1】で作った名前(aaやbbやcc)が1つ表示されるようにしたとします。 そしてB2には、A2で表示された名前の中の文字列が1つ表示されるようにします。 (例えばA2に『aa』と表示されたら、B2には◯◯) 更にC2には、B2に表示された◯◯という文字列を使って、【sheet2】の名前『aa』の中のB列と、A列にある◯◯とが交差するセルに入力されている数字(図でいう(5))を表示させる関数を入力したいのです。(INDEXやINDIRECT、MATCH関数など…) 他に例えば、A2に『bb』(sheet1の名前)、B2に★★と表示されたら、C2には【sheet2】の名前『bb』の中のB列と、A列にある★★が交差するセルに入力されている数字を表示させたいです。 同じように、今度は、D2には、B2に表示された◯◯という文字列を使って、【sheet2】の名前『aa』のC列と、A列にある◯◯の交差するセルに入力されている数字を表示させたいです。 長々とややこしくてすみません… 説明分かりますでしょうか?? つまりは【sheet3】のC2・D2・E2に入力する関数が知りたいです。 自分なりに関数を入力してみたのですが、A2で表示された名前がsheet1での名前なので、sheet2の情報を引き出す事が出来ません。 わざわざsheet1とsheet2でシートを分けたのは、同じシート内で同じ名前が付けられないと思ったからです! どなたか分かりましたら教えて下さい! どうぞよろしくお願い致します。 ※ちなみに、貼付した図の『・』は以下省略の意味で使ってます。

専門家に質問してみよう