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

vlookup関数を使ってます。
Sheet1に関数=vlookup(A1,Sheet2!A:B,2,0)を記入
・Sheet1のA1は小数点のある数値です(セル内で右寄り)。
・Sheet2のA列は同じく小数点付ですが文字列で(セル内で左寄り)、左上に緑三角があります。
同じ数字の並びがありますが、数値と文字列の違いから(だと思いますが)vlookupで検索にヒットしません。Sheet2のA列をマウスでクリックし、選択してリターンキーを押すと、何故かセル内で右寄りに変わり、vlookupで検索にヒットするようになります。おそらく数値に変わったのかと思います。

双方とも文字列扱いで、vlookupを動作させるにはどうすればいいでしょうか?

A 回答 (3件)

通常は他のご回答にもあるように区切り位置の機能などで数値にしてから検索するのでしょうが、あえて文字列のまま検索する必要がある場合は、次式を試してください。



=vlookup(A1&"",Sheet2!A:B,2,0)

なお、今度は数値を検索できなくなっているはずですので、ご注意。
    • good
    • 0
この回答へのお礼

ありがとうございます。
セルに空白セルを入れるのでなく、関数の中に入れるのであれば簡単ですね。
ちょっと目からうろこです。

お礼日時:2015/05/30 09:02

すでに答えられていますが、数値と文字列は別物です。



Excelは数値として扱える文字列を数値に置き換えて演算する機能がありますが、
(文字列に対して0を足したり、1を掛けたりして数値に置き換えることができるのはこの機能のためです)
その機能を比較・検索を行う関数に求めてはいけません。

ちなみに「区切り位置」の機能を使うとセルの書式で文字列や数値、日付などへ自在に変換することができます。
(「区切り文字」が無くても機能しますので、「1列だけまとめて変換する」なんてことができます)
    • good
    • 0
この回答へのお礼

ありがとうございます。
経験のない使い方です。漠然と文字列には変換出来そうに思えますが、数値に変換出来るのでしょうか。今後も使いそうな機能なので、もうちょっと勉強してみます。

お礼日時:2015/05/27 07:27

Vlookup関数に限らず、エクセルでは


数値 と 文字列 は全く違う取扱いになります。
例えば
=1/3 と式を入れて 表示が 0.33 であっても
実際は、0.3333333333・・・
となるのが数値です。
文字列で 0.33 と入れればそれは単に文字です。

>双方とも文字列扱いで、vlookupを動作させるにはどうすればいいでしょうか?
Sheet1のA1セルの数値を文字列に変換します。
=vlookup(Text(A1,"0.00"),Sheet2!A:B,2,0)
と云った形で、文字列に変えますが、小数点以下の表示なども完璧に合わせる事に
なります。
Sheet2のA列を全て数値にした方が便利ではないでしょうか。
一例ですが、空いているセルに 数値で1と入れる、コピーする
A列を選択、形式を選択して貼り付け
乗算 にチェックを入れて実行
A列のすべてに1を掛けますので、勝手に数値になります。
空白は0になります。
    • good
    • 0
この回答へのお礼

ありがとうございます。
データによってはアルファベットもあるので、文字列の方が都合がいいです。

cntrl+1で書式を文字列にするのと、text関数は同じ結果と思っていいですか?

お礼日時:2015/05/27 07:22

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