• 締切済み

関数VLOOKUP IFERRORについて教えてください。

関数VLOOKUP IFERRORについて教えてください。 セル(A1)でドロップダウンリストから会場名を選択。 SHEET2から住所・郵便番号・電話番号等を自動展開させています。 =IFERROR(VLOOKUP(B4,SHEET2!A:E,2,FALSE),"")など SHEET2に該当データがない場合は、SHEET1のセル1に手入力をしたいのですが 入力値が正しくない・・とエラーで返されてしまします。 どうしたら手入力できるようになりますか? ドロップダウンリストの指定がいけないのでしょうか? また手入力したとき、SHEET1のセルA2~A5にも手入力をしたいのですが (これは一応入力できるのですが) 入力と同時に、A2~A5の関数指定が消えてしまいます。 関数を保護したまま入力値を入れる方法はあるのでしょうか? ご回答いただけますようお願いいたします。 エクセル2007で作業中です。

みんなの回答

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

 回答番号:ANo.4です。  前回の回答で、A2セルにドロップダウンリストを設定する際に、Z1セルに入力する値を、元の数式の先頭から「=」を除いた文字列としましたが、それよりも良い方法を見つけました。  まず、同様の方法で、A2セルに、手入力可能なドロップダウンリストを設定するのですが、その際に、Z1セルには次の様な形式の数式を入力して下さい。 ="元の数式"  例えば、A2セルに入力されていた元の関数が =IF(A1="","",A1&" ") だとした場合には、 Z1セルには、 ="=IF(A1="","",A1&" ")" という数式を入力する訳です。  すると、A2セルのドロップダウンリスト中には、 =IF(A1="","",A1&" ") という項目が表示されますから、それを選択しますと、A2セルには =IF(A1="","",A1&" ") という文字列データが入力されます。  文字列データのままでは関数として動作しませんから、上記の文字列データをドロップダウンリストで入力してから、A2セルをダブルクリックして下さい。  次に、キーボードのEnterキーを押すか、又は他のセルをクリックすると、 =IF(A1="","",A1&" ") とキーボード入力したのと同じ状態となりますから、関数として動作する様になります。  この方法ならば、複数の数式や値を簡単に入れ替える事が出来ると思います。

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

 入力規則でドロップダウンリストを設定しているセルに、リストに無いデータを入力するには、前もってそのセルを選択してから、次の操作を行われると良いと思います。 メニューの[データ]をクリック   ↓ 現れた選択肢の中にある[入力規則]をクリック   ↓ 現れた「データの入力規則」ウィンドウの[エラーメッセージ]タグをクリック   ↓ 「無効なデータが入力されたらエラーメッセージを表示する」と記されている箇所をクリックしてチェックを外す   ↓ 「データの入力規則」ウィンドウの[OK]ボタンをクリック  これでリストに無いデータも入力可能になると思います。 >SHEET1のセルA2~A5にも手入力をしたいのですが (中略) 関数を保護したまま入力値を入れる方法はあるのでしょうか?  例えば、A2セルに入力していた関数から、先頭の「=」を除いた文字列を、適当なセル(例えばZ1セル)に入力しておきます。  続いて、先程説明した方法と同様の方法で、リストに無いデータを入力可能にした入力規則を設定し、ドロップダウンリストの「元の値」欄には、 =$Z$1:$Z$1 と入力しておきます。  同様にA3~A5セルにも、同じ結果を出力する関数を入力したセルを作成し、ドロップダウンリストに設定しておきます。  すると、手入力が可能になりますし、関数に戻す際には、ドロップダウンリストに表示される唯一の値を選択してから、その文字列の先頭に「=」を追加すれば、元の関数に戻す事が出来ます。

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.3

「データの入力規則」の「設定」タブ、「ドロップダウンリストから選択する」にチェックが入ってませんか? 外せば手入力で入りますが、そもそも「入れちゃいけない」のでそう言う設定を作っている筈、なんでそうなっているかをよく考えてから外して下さい。 更に「計算式を保持したままデータを手入力することは仕様上不可能」です。ですので、手入力するセルと、データを計算するセルは別の場所に作る必要があります。 いずれにせよやろうとしていることは、そのシートを設計したときの条件の「想定外」のデータです。何かいじると全然違う場所に影響が出てくる可能性が大きいので、全く別のシートで1から処理するロジックを組み込むか、例外データは別途ハンドで処理するように考えた方が正解です。特に金銭がからんでいる場合、どこかで計算が狂うと大変なことになりますよ。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

>SHEET2に該当データがない場合は、SHEET1のセル1に手入力をしたいのですが >入力値が正しくない・・とエラーで返されてしまします。 ⇒入力規則で規制されているので入力はできません。しかし、入力規則のエラーメッセージタブでスタイルを停止以外にすれば入力が可能となります。   リストにないデータ入力をすること自体が矛盾しています。 >また手入力したとき、SHEET1のセルA2~A5にも手入力をしたいのですが >(これは一応入力できるのですが) >入力と同時に、A2~A5の関数指定が消えてしまいます。  ⇒あたり前です。   マクロ(VBA組み込み)でないと不可能です。

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

ご質問の意味がよく理解できないのですが少なくともセルに式を入力してあるときにその式を消去させないで別のデータをそのセルに入力することはできません。