• 締切済み

【至急】エクセルで入力規制でリスト入力すると、他の

マクロの初心者なもので、どうしてもわからないので教えて下さい。 セルA1 に 段階1 段階2 段階3 段階4 ・・・とリストで入力したとします。 セルA1 に 「段階1」 と選んだら、 セルB1には 「500」 同時にセルC1には 「400」         「段階2」 と選んだら、 セルB1には 「800」 同時にセルC1には 「600」 以下 どの段階を選んでも段階に合わせた数値が他のセルに返せる方法が知りたいです。 という風にしたいのですが、関数orマクロで何か解決方法があれば教えてほしいです。 excelは2007 OSはvista よろしくお願いします。

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

例えば段階名やその数値などをデータベースとしてシート2に作成します。 A1セルは空白のセルとしてB1セルから横に段階1、段階2、段階3・・・・と入力します。 A1を空白にするのはリスト表示にした時に必ず段階1が選択しやすいように最初の画面で表示されるようにするためです。そうでないとリストの最初の画面で空白のみが表示されるようなことも起こります。 2行目のB2セルから横にそれぞれの段階に対応したシート1のB列に表示したい数値を、3行目ではB3セルから横にそれぞれの段階に対応したシート1のC列に表示したい数値を入力します。 そこでシート1ですが例えばA1セルからA10セルを選択してから「データの入力規則」で「リスト」を選んで元の値の窓には次の式を入力してOKします。 =Sheet2!$1:$1 B1セルには次の式を入力してC1セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF($A1="","",HLOOKUP($A1,Sheet2!$1:$3,COLUMN(B1),FALSE))

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.4

Vlookupではダメなんでしょうか? 外していたら済みません。 Sheet2!$A$1:$C$9に参照表を作ってあり(範囲は実情に合わせてアレンジして下さい) Sheet1のA列に入力規則、B,C列..にデータ転記とします。 Sheet1のB1に、=VLOOKUP($A1,Sheet2!$A$1:$C$9,COLUMN(B1))という式を入れて、以下下方、右方にコピーすれば良いです。一つの式でいける様にちょっとひねってみましたが、COLUMN(B1)のところは、普通に1,2,と数値で指定しても良いです。

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.3

>さらに;が反応せず、式が間違っている事になってしまいます。。。 すいません、excelは;ではなく, ですね。

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.2

=IF(A1="段階1";500;IF(A1="段階2";800;"")) ですね。あとは段階の数だけIFをつなげることになります。

kasakko9
質問者

お礼

何度かこの式を重ねると、関数が多すぎますとなってしまいます。。。 さらに;が反応せず、式が間違っている事になってしまいます。。。 どうしたらいいでしょう??

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.1

B1=IF(A1="段階1";500;"") C2=IF(A1="段階1";400;"")

kasakko9
質問者

お礼

早速ありがとうございます。 このIFを使うまではわかるのですが。 A1セルに「入力規制のリスト」をつかっている場合に、  A1セルにリストで「段階1」を選んだ時にはB1C1に段階1の設定した数値を  A1セルにリストで「段階2」を選んだ時にはB1C1に段階2で設定した数値を・・・ という風にしたいのです。。