プロが教えるわが家の防犯対策術!

エクセルでVLOOKUPの関数を使うときの「検索値」に関する質問です。

この「検索値」が数式結果だと反映されませんよね?
そこで範囲指定をして、「値だけコピー貼付」をしたのですが、
やっぱり反映されません。

<sheet1>
  A      B      C     D
1 123    りんご    10円    XXX
2 124    みかん    20円    YYY
3 125    めろん    30円    ZZZ
4 126    かき     40円    QQQ
  ↑
  この「123」や「124」が
  別のシートからVLOOKUPで「DのセルがXXXなら123にする」
  という数式の結果なんです。

この<sheet1>を利用して、別の<sheet2>に
VLOOKUPで「“123”と入力したら“りんご”となる」
というようにしたいのですが、
この“123”“124”が数式結果のため、反映されません。
値だけ貼り付けても反映されません。
上書きで“123”“124”と入力すれば反映されますが
数が多いので困っています。

初心者なので、できるだけわかりやすく教えていただけたら
嬉しいです。

A 回答 (3件)

>この「検索値」が数式結果だと反映されませんよね?


⇒反映されます。
問題は、入力セルと検索列の書式が数値と文字列になっている為です。
ご質問から推察すると、入力セルを文字列にした方が良いと思いますが如何でしょうか。
    • good
    • 0
この回答へのお礼

できました!
ありがとうございます。

お礼日時:2007/12/20 16:00

やってみたけど、できました。


とりあえず、VLOOKUPで参照する範囲を絶対参照にする。
すべてのシートの表示形式を標準にする。
(シート全体を右クリック→セルの書式設定→表示形式タブ→標準)
試してみて。
    • good
    • 0
この回答へのお礼

他の方の回答を参考に、表示形式を「文字列」にするとできました。
でも、シート全体を「標準」にするとできませんでした(T_T)

とりあえず、「標準」より「文字列」で作成していこうと思います。

回答をありがとうございました。

お礼日時:2007/12/20 16:02

「反映されない」というのはExcelの動作にない単語ですが、


vlookup関数で#N/Aエラーになるという意味だと仮定します。

123とタイプすると、Excelは数値だと判断します。しかし数式など
で"123"という値を返すと、Excelは文字列だと判断します。違いは
判りますね。現状ではSheet1の表には文字列が入ってて、Sheet2で
タイプした数値では検索に引っかかってこないと思われます。

要するにどちらかに揃えればいいんですが、Sheet1のA列がさらに他
のシートからvlookupで検索した結果だとすると、根本まで遡ってす
べてを数値にするのは面倒くさいですね。Sheet2で123と入力したも
のが文字列として扱われるようにしましょう。Sheet2の検索値を入
力する予定のセルを選択し、書式→「セル…」の「表示形式」を
「文字列」にしてOKします。以後、その範囲にタイプした数字はす
べて数値ではなく文字列として扱われます。
    • good
    • 4
この回答へのお礼

>「反映されない」というのはExcelの動作にない単語ですが、

そうなんですか。
だから検索しても出てこなかったんですね。
次からは使わないようにします。

>で"123"という値を返すと、Excelは文字列だと判断します。

どうしてこうなるのか、そしてどうすれば良いのかが
すごくよくわかりました。
ありがとうございます。

お礼日時:2007/12/20 16:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!