-PR-
解決済み

Vlookup関数を生かして、入力規則をに設定する方法ってありますか?

  • 暇なときにでも
  • 質問No.53282
  • 閲覧数1067
  • ありがとう数4
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 71% (256/358)

別シート(sheet2)に、Vlookup用マスターを作ってあります。

でsheet1に、セルF1に、=IF(H2="",""Vloouup用マスター!$A$2:$B$14,2,false)というような形で、
H2が空白だったら、空白にして、そうでなかったら、検索して、2列目を、表示ようにしてあります。
Vlookup用マスターの1列めに入っているのは、日本語の項目名で、それを、検索値として、入力すると、2列目の数字を出すようにしてあるのですが、
1列目の項目名が長いので、コピーしています。

同一シートなら、データの入力規則で、プルダウンキーを使ってリストを作る方法もあるのですが、別シートだと、それもできないようなので、
Vloouupのマスターを生かしたまま、もともとのシートに、もっと、簡単に入力できる方法が何かあったら、教えて下さい。
よろしくお願いいたします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル12

ベストアンサー率 51% (254/492)

こんにちは

 名前を使えば別のシートでも入力規則-リストが使えます。

 以下のページがご参考になるのでは?

【エクセル技道場】-入力規則-名前定義で、[リスト]で他のシートの範囲を利用
http://www2.odn.ne.jp/excel/waza/validation.html#SEC2
お礼コメント
himehime

お礼率 71% (256/358)

ありがとうございました。
解決しました。
ああ、「名前」は思いつきませんでした(-_-;)
投稿日時 - 2001-03-20 08:09:24
関連するQ&A
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル14

ベストアンサー率 57% (1014/1775)

「入力規則」という機能は誠に中途半端で困った物です。 マクロを使えば自由自在ですが、本格的に書くのはちょっと....ということですね。 ●コンボボックスかリストボックスをsheet1に貼り付ければ良いんじゃないでしょうか。リストボックスでやってみましょう。 ○どこにある? 表示->ツールバー->ユーザー設定で「コマンド」タブの分類:フォームを選ぶと、リストボックスが見つかります ...続きを読む
「入力規則」という機能は誠に中途半端で困った物です。
マクロを使えば自由自在ですが、本格的に書くのはちょっと....ということですね。

●コンボボックスかリストボックスをsheet1に貼り付ければ良いんじゃないでしょうか。リストボックスでやってみましょう。

○どこにある?
表示->ツールバー->ユーザー設定で「コマンド」タブの分類:フォームを選ぶと、リストボックスが見つかります。これをツールバーにドラッグする。そして「ユーザー設定」を閉じます。

○どうやって貼り付ける?
ツールバーのリストボックスのアイコンをクリックしてから、sheet1上の好きなところにdraggingで長方形を描きます。

○どうやって中身を表示させる?
リストボックスのプロパティ(macならcontrol keyを押しながらリストボックスをclick)の中に「コントロールの書式設定...」がある。これを選んで「コントロール」タブの「範囲:」のところに問題の「sheet2にあるマスターの1列め」を指定します。そして「リンクするセル」の所にどこか適当なセル1個(たとえば$A$1としましょう)を指定します。そして「コントロールの書式設定」を閉じます。
これで、リストボックスの中に「マスターの1列め」の内容が表示されるようになります。

○どうやって使う?
リストボックスの中の行を一つ選択すると、セル$A$1に「選択したのが何行目か」の数値が表示されます。ですからindex関数を使ってsheet2にある「2列目の数字」を(Vlookupは使わないですけど)直にピックアップできます。

●入力したいセルがいっぱいあるときは?
セルH1,H2,......に同様の入力をしたいときは、各セル毎にリストボックスやコンボボックスを用意するのも間が抜けた話ですね。この場合はマクロを使うのが簡単だなあ。
つまり、セル$A$2に一旦欲しい「2列目の数字」を取り出して、次に入力したいセルを選択しておいてボタンを押すだけで、この数字がセルにペーストされるようにする。
○$A$2に「2列目の数字」をとりだすには?
セル$A$2に
=index(Vloouup用マスター!$B$2:$B$14,$A$1)
と入力します。

○マクロを作る。
ツール->visual basic editorを選びます。
挿入->標準モジュールを選びます。
これでModule1(コード)というウインドウが開く。
Sub ppp()
Range("A2").Copy
ActiveSheet.Paste
End Sub
と入力します。
そしてWorksheetへ戻り、このマクロを動かす為のボタンを用意しましょう。

○どこにある?
表示->ツールバー->ユーザー設定で「コマンド」タブの分類:フォームを選ぶと、ボタンが見つかります。これをツールバーにドラッグする。そして「ユーザー設定」を閉じます。

○どうやって貼り付ける?
ツールバーのリストボックスのアイコンをクリックしてから、sheet1上の好きなところにdraggingで長方形を描きます。

○どうやってマクロを起動できるようにする?
ボタンのプロパティの中にある「マクロの登録...」を選択。表示されるリストの中からpppを選んで[OK]。

○どうやって使う?
先ずリストボックスで「マスターの1列め」の文字列を選択します。すると対応する「2列目の数字」がA2に表示されます。
そこで、入力したいセルを選択して、ボタンを押す。これでA2の数字が選択したセルに貼り付けられます。

*他にもいろいろ手はあると思います。使用目的・状況に応じて工夫できると思いますので、補足してください。
お礼コメント
himehime

お礼率 71% (256/358)

ありがとうございました。
解決しました。
投稿日時 - 2001-03-20 08:08:53


  • 回答No.3
レベル6

ベストアンサー率 16% (2/12)

前もって 謝っておきます。チンプンカンフンの答えでしたら無視して下さい。 シート2のVLOOKUP用マスターの検索値を 一度全件コピーしてみては コピー先は、シート1のH3に貼りつける。 実際に、VLOOKUP検索するキーは、H2のようですので、H2のカーソル から、右クリックし、「リストから選択(K)」をすれば、H3から下段が、全 て表示されるはずです。(但し、文字タイプだけだと思います) ...続きを読む
前もって 謝っておきます。チンプンカンフンの答えでしたら無視して下さい。
シート2のVLOOKUP用マスターの検索値を 一度全件コピーしてみては
コピー先は、シート1のH3に貼りつける。
実際に、VLOOKUP検索するキーは、H2のようですので、H2のカーソル
から、右クリックし、「リストから選択(K)」をすれば、H3から下段が、全
て表示されるはずです。(但し、文字タイプだけだと思います)

お節介ですが、himehimeさんは、IF関数とVLOOKUP関数の組み
合わせですが、この場合、H2が空白であれば空白セット 空白でなければ、V
LOOKUPになっていますが、VLOOKUP検索後、一致するものがなけれ
ば、#N/Aエラーになりませんか??
ISERRORをつかえば結構便利ですよ!!!
例.
IF(ISERROR(VLOOKUP(H2,シート2マスター!$A$2:
$B$14,2,false)),’****’,VLOOKUP(H2,シー
ト2マスター!$A$2:$B$14,2,false))と云う具合に
’***’の部分はテキストでも、数式でもいいです 違うパターンのVLOO
KUP関数を入れる事も出来ます。1個目のVLOOKUPで、検索出来なけれ
ば’****’を表示します。
質問に理解していない答えでしたら ゴメンナサイ!!!
お礼コメント
himehime

お礼率 71% (256/358)

ありがとうございました。
解決しました。
ISERROR関数はじめてしりました。
使わせていただきます。
投稿日時 - 2001-03-20 08:10:21
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ