• 締切済み

エクセルのことで困っています!

エクセル 項目、サイズ、種類のドロップダウンリストを連動させて尚且つドロップダウンリストを選択した時に単価が自動で出るようにしたいです 添付した画像を見て頂けると分かりやすいと思います。 sheet1の項目にsheet2の配管用炭素鋼鋼管と水道用硬質化塩化ビニルライニング鋼管 sheet1のサイズは項目のリストを選択した時にサイズのリストの内容が項目別に変わるようにしたいです sheet1の種類も同じく項目のリストを選択した時に種類のリストの内容が項目別に変わるようにしたいです さらにそのリストで選択した時に単価が自動ででてくるようにしたいのです 色々自分でも調べたのですが、エクセルはどうも疎くてなかなかわからずどうしたらいいか分かりません どなたか分かる方いい方法があるよという方教えて頂けないでしょうか

  • nn21
  • お礼率0% (0/3)

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 以下の様な操作を行って、Sheet1のA2~D2の各セルに入力規則を設定し、D2セルとF2セルには関数を入力されると良いと思います。  尚、B2セルやC2セルに設定する下記の入力規則は、A2セルに何も入力されていない場合や、コピー&ペーストを使ってA2セルに正しくない値が入力されている場合には、ドロップダウンリストが現れない様になっています。  まず、A2セルの入力規則の設定方法は以下の様なものになります。 A2セルを選択   ↓ Excelウィンドウの上の方に並んでいるタブの中から[データ]タブを選択してクリック   ↓ 現れた「データツール」グループの中にある[データの入力規則]ボタンをクリック   ↓ 現れた選択肢の中にある[データの入力規則]を選択してクリック   ↓ 現れた「データの入力規則」ダイアログボックスの[設定]タブをクリック   ↓ 現れた「入力値の種類」欄をクリック   ↓ 現れた選択肢の中にある[リスト]を選択してクリック   ↓ 現れた「元の値」欄に次の様に入力 配管用炭素鋼配管,水道用硬質化塩化ビニルライニング鋼管   ↓ 現れた「データの入力規則」ダイアログボックスの[OK]ボタンをクリック  次に、B2セルの入力規則を設定する前に、A2セルをクリックし、現れた選択肢の中のどれでも構いませんので、どれか1つを選択してクリックして下さい。  その上でA2セルに対して入力規則を設定した時と同様の操作を行って、「元の値」欄に入力する内容のみを次の様な数式とした上で、B2セルにも入力規則を設定して下さい。 =IF($A2=Sheet2!$A$1,Sheet2!$A$3:$A$20,IF($A2=Sheet2!$G$1,Sheet2!$G$3:$G$13,))  次に、C2セルの入力規則を設定する前に、A2セルをクリックし、現れた選択肢の中のどれでも構いませんので、どれか1つを選択してクリックして下さい。  その上でA2セルに対して入力規則を設定した時と同様の操作を行って、「元の値」欄に入力する内容のみを次の様な数式とした上で、C2セルにも入力規則を設定して下さい。 =IF($A2=Sheet2!$A$1,Sheet2!$B$2:$F$2,IF($A2=Sheet2!$G$1,Sheet2!$H$2:$J$2,))  次に、D2セルに次の様な関数を入力して下さい。 =IF(OR($A2="",$B2="",$C2=""),"",IF(ISERROR(1/(VLOOKUP($B2,CHOOSE(MATCH($A2,{"配管用炭素鋼配管","水道用硬質化塩化ビニルライニング鋼管"},0),Sheet2!$A$3:$F$20,Sheet2!$G$3:$J$20),MATCH($C2,CHOOSE(MATCH($A2,{"配管用炭素鋼配管","水道用硬質化塩化ビニルライニング鋼管"},0),Sheet2!$A$2:$F$2,Sheet2!$G$2:$J$2),0),FALSE)<>"")),"",VLOOKUP($B2,CHOOSE(MATCH($A2,{"配管用炭素鋼配管","水道用硬質化塩化ビニルライニング鋼管"},0),Sheet2!$A$3:$F$20,Sheet2!$G$3:$J$20),MATCH($C2,CHOOSE(MATCH($A2,{"配管用炭素鋼配管","水道用硬質化塩化ビニルライニング鋼管"},0),Sheet2!$A$2:$F$2,Sheet2!$G$2:$J$2),0),FALSE)))  次に、F2セルに次の様な関数を入力して下さい。 =IF(COUNT($D2,$E2)=2,ROUND($D2*$E2,0),"")  以上です。  尚、いくら入力規則を設定しているとはいえ、例えば、A2セルに一旦「水道用硬質化塩化ビニルライニング鋼管」と入力しておいてから、C2セルには「VB」と入力した後、A2セルの値を「配管用炭素鋼配管」に変更した場合、「配管用炭素鋼配管」には「VB」が存在しないにもかかわらず、入力だけは行う事が出来てしまいます。  その様な場合、もしもD2セルに入力する関数が単純なVLOOKUP関数であった場合には、入力値が「配管用炭素鋼配管」の「VB」という誤った設定値であるのにもかかわらず、あたかもその様な製品が存在するかの様に、単価が表示されてしまいます。  その様な事態になる事を防ぐために、本回答ではD2セルに入力する関数を少々複雑なものとしています。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

>エクセル 項目、サイズ、種類のドロップダウンリストを連動させて尚且つドロップダウンリストを選択した時に単価が自動で出るようにしたいです Sheet1のA2はSheet2のA1またはG1の2択ですよね? データ入力規則でリストを選択して文字列をカンマ区切りで列記してください。 セルを対象にするときは=Sheet2!A1:G1のように連続したセルで指定しなければなりませんので中間の空白セルもプルダウンに表示されてしまいます。 Sheet1のB2はA2の項目とSheet2のA1と同じのときSheet2のA3:A20をプルダウンの対象とし、その他はSheet2のG3:G13をプルダウンの対象となるように数式で指定します。 =IF(A2=Sheet2!$A$1,Sheet2!A$3:A$20,Sheet2!G$3:G$13) Sheet1のC2はB2と同様にIF関数でプルダウンのリストを切り替えれば良いでしょう。 =IF(A2=Sheet2!A$1,Sheet2!B$2:E$2,H$2:J$2) Sheet1のD2はVOOKUP関数でSheet2のA$3:J$20から抽出できます。 Sheet2のA列のサイズとG列のサイズには行のズレがありませんので検索範囲はIF関数で切り替えなくても抽出に誤りが起こらないはずです。 D2=VLOOKUP(B2,Sheet2!A$3:J$20,MATCH(C2,Sheet2!$A$2:$J$2,0),FALSE) この質問は会社の仕事に使うのですよね? 事務の効率化で人件費が削減されますがそれによって得られる利益は誰に還元されるのですか? 無関係の人から無料で貰ったアイディアで増えた利益は慈善事業に使ってください。 丸儲けは甘えすぎです。 本来ならシステムエンジニアに有償で依頼すべき内容です。

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.1

名前定義とINDIRECT関数を組み合わせることで可能です。単価はDGET関数を使うと良さそうです。 Sheet2の以下の範囲を名前定義します ・A2:F20 を「配管用炭素鋼鋼管_Area」 ・A3:A20 を「配管用炭素鋼鋼管_Size」 ・B2:F2  を「配管用炭素鋼鋼管_Type」 ・G2:J20 を「水道用硬質化塩化ビニルライニング鋼管_Area」 ・G3:G20 を「水道用硬質化塩化ビニルライニング鋼管_Size」 ・H2:J2  を「水道用硬質化塩化ビニルライニング鋼管_Type」 Sheet1の以下のセルに入力規則を設定(入力の種類は全て「リスト」)します ・A2セル 元の値:配管用炭素鋼鋼管,水道用硬質化塩化ビニルライニング鋼管 ・B2セル 元の値:=INDIRECT($A$2&"_Size") ・C2セル 元の値:=INDIRECT($A$2&"_Type") Sheet1の以下のセルに関数を設定します ・D2セル:=IFERROR(DGET(INDIRECT(A2&"_Area"),C2,B1:B2),"")

関連するQ&A

  • エクセルで仕入帳の作り方

    はじめまして。エクセル初心者で初歩的な質問かもしれませんが教えてください。お願いします。 エクセルで1年分の仕入帳を作成しています。シートで1月から12月まで分けてそれぞれ品名、数量、単価、仕入金額の項目を作って金額を算出できるようにしているのですが、品名を入れたときに自動的に単価を単価の項目欄に表示されるようにしたいです。また、品名も全部で50種類位あるのですが、それも選択するようなかたちで簡単に処理できれば尚良いなと思っています。 抽象的な質問で恐縮ですが宜しくお願いします。

  • エクセルの入力規則について

    エクセルの入力規則機能について質問があります。 入力値の種類をリストに設定されていて、元の値には”=項目”と記載されています。 項目は別のシートのリストをさしているようで、セルをポップアップするとその別シートの セルの内容が選択できるようになっています。別のシートのリストの項目を削除すると セルをポップアップするとその項目だけ選択できなくなります。 このような機能(”=項目”の定義の仕方)について、どのように設定すればよいか教え て下さい。 よろしくお願いいたします。

  • エクセルで困ってます

    エクセルで、リストを別のシートに作って、それをドロップダウンリスト?形式で選べる様にするにはどうすればいいですか? 同じシートにリストを作ってやるやり方は分かるのですが。範囲を選ぶときに別のシートには行けないのです。list manager とかデータベースとかを使うのだと思うのですが、やり方が今イチ分かりません。 エクセルソフトはmicrosoft excelの英語版です。分からなかったら、Windowsのexcel 2003とか日本語版でのやり方の説明でも構いません。教えてください。お願いします。

  • エクセルのセルごとに選択リストをつけるには?

    エクセル(2000)について、質問をさせてください。 セルにカーソルをあてた時、そのセルに入力する項目を選択リストにして、 それを選ぶための▼ボタンが出せるかと思うのですが、 どのようにすればいいでしょうか? 過去に人が作ったのを見ていると、選択リストに表示したい項目が 別シートに並べて書いてあり、そこから取得しているようなのですが・・・。 よろしくお願いいたします。

  • エクセルの入力規則のリストが効かない

    エクセルの入力規則でリストを設定していますが シート内の他のセルをいじっていると 突然リストを選択できなくなる時があります。 [データ]→[入力規則]の「ドロップダウンリストから選択する」はチェックされたままです。 こうなると一度ファイルを閉じても直りません。 新規ブックに全文をコピーしたら直りました。 新規ブックにシートコピーだと駄目です。 これはバグなのでしょうか?

  • エクセル商品価格の自動計算について

    エクセルについて質問です。 以下のような単価表ブックがあります。 そのブックに商品価格を自動計算するシートを作成したいのですが、できません。 どうか皆さまの知恵を教えていただけますでしょうか。 以下内容です。   | 1cm~10cm | 11cm~20cm | 21cm~30cm  ・・サイズ(1) ―――――――――――――――――――――――― A |    1.5    |     2.5     |    3.0 ―――――――――――――――――――――――― B |    2.5     |     3.5     |    5.5 ―――――――――――――――――――――――― C |    8.0     |     9.0     |    9.5 商品価格を自動計算するシートでは以下のことを行います。 まず種類を選択します。(単価表A~Bのいずれか。) 次にサイズ(1)の数値を入力します。(単価表サイズ(1)の部分) 次にサイズ(2)の数値を入力します。サイズ(2)は2パターンあり、入力はパターン1とパターン2のいずれかです。入力する箇所(セル)はそれぞれ別です。単価表はパターン1の為、パターン2の数値を入力した場合、パターン1の数値に直す計算式の入っているセル(3)が商品価格を自動計算するセルシートの一部にあります。 入力例)数値「A」      サイズ(1)「3.5」      サイズ(2)「1000」 求めたい価格の計算式は、 サイズ(2)パターン1の場合、「サイズ(2)X 価格シート(A)の該当単価」です。 サイズ(2)パターン2の場合、「サイズ(3)X 価格シート(A)の該当単価」です。 エクセルのバージョンは2007です。 (この種類の場合、この範囲内の数値の場合はこれを引っ張ってきて・・等、エクセル初級者ながらいろいろと調べてみたり考えてみたりしたのですが・・本当に悩んでいます。) どうか皆さまの知恵を教えていただけますでしょうか。 長文失礼いたしました。 よろしくお願い致します。

  • エクセル2007 ドロップダウンリストの空白をなくすには

    例えば、ドロップダウンリストで表示したいデータは10個しか無いのですが、今後増える可能性があるので20行をリストの範囲にしたとします。その際リストには10個分のデータと、10個分の空白が出来てしまいます。 (表示したい項目は別シートにあります) この空白を無くすために調べているのですが、わからず躓いてしまっています。どなたか教えて下さると助かります。宜しくお願い致します。

  • エクセルの入力制限で、ドロップダウンリストが出ない?

    エクセルのデータの入力規則で、 入力値の種類をリスト、ドロップダウンリストから選択するにして、元の値を指定して、当初はドロップダウンリストの▼マークが出てきたのですが、次第に出て来なくなりました。Altキーを押しながら矢印キーを押してもリストが出てきません。 でも、入力制限の機能は失われていません。ただ、ドロップダウンリストだけが故障?のようになっています。 回避策等教えて頂けますでしょうか?よろしくお願いします。

  • EXcelでプルダウンをつくかって別シートに!

    Excelでプルダウンにして、特定の項目で別シートにリンクさせたい。 セル上にプルダウンの設定をして、項目を数種類入れます。 選択されたある項目で別シートに移ってそこで入力をしたい。 どのようにしたらいいのでしょうか?

  • エクセルのデータ入力規則を利用した設定

    エクセルのデータ入力規則を利用して、簡単に品名に値する単価を他に作成したリストから自動的に入力する方法をご指導ください。項目欄は品名をリストから選択できるようにはなっています。

専門家に質問してみよう