

vlookup関数を使ってます。
Sheet1に関数=vlookup(A1,Sheet2!A:B,2,0)を記入
・Sheet1のA1は小数点のある数値です(セル内で右寄り)。
・Sheet2のA列は同じく小数点付ですが文字列で(セル内で左寄り)、左上に緑三角があります。
同じ数字の並びがありますが、数値と文字列の違いから(だと思いますが)vlookupで検索にヒットしません。Sheet2のA列をマウスでクリックし、選択してリターンキーを押すと、何故かセル内で右寄りに変わり、vlookupで検索にヒットするようになります。おそらく数値に変わったのかと思います。
双方とも文字列扱いで、vlookupを動作させるにはどうすればいいでしょうか?
No.2ベストアンサー
- 回答日時:
すでに答えられていますが、数値と文字列は別物です。
Excelは数値として扱える文字列を数値に置き換えて演算する機能がありますが、
(文字列に対して0を足したり、1を掛けたりして数値に置き換えることができるのはこの機能のためです)
その機能を比較・検索を行う関数に求めてはいけません。
ちなみに「区切り位置」の機能を使うとセルの書式で文字列や数値、日付などへ自在に変換することができます。
(「区切り文字」が無くても機能しますので、「1列だけまとめて変換する」なんてことができます)
ありがとうございます。
経験のない使い方です。漠然と文字列には変換出来そうに思えますが、数値に変換出来るのでしょうか。今後も使いそうな機能なので、もうちょっと勉強してみます。
No.3
- 回答日時:
通常は他のご回答にもあるように区切り位置の機能などで数値にしてから検索するのでしょうが、あえて文字列のまま検索する必要がある場合は、次式を試してください。
=vlookup(A1&"",Sheet2!A:B,2,0)
なお、今度は数値を検索できなくなっているはずですので、ご注意。
No.1
- 回答日時:
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になります。
ありがとうございます。
データによってはアルファベットもあるので、文字列の方が都合がいいです。
cntrl+1で書式を文字列にするのと、text関数は同じ結果と思っていいですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
エクセルで文字列をtxtファイル...
-
VBAでの Replace関数で、ワイル...
-
Excelで指数表現しないようにす...
-
LEFT関数で文字数を指定しない...
-
Left関数とRight関数を合わせた...
-
【Excel VBA】複数ある特定の文...
-
VBの「As String * 128」とは?
-
VBAを使って選択した範囲の数字...
-
アクセスで特定の数字以外(複...
-
MS SQLServer のSQLで文字列の...
-
Excelで3E8を3.00E+8にしない方...
-
【excel】複数のセルを対象に特...
-
最も多い文字列を検索するには
-
SQL の Update文(?) と ...
-
エクセルで文字列の最大値を抽...
-
エクセルのマクロでFindメソッ...
-
エクセル 数値データを桁をそ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
VBAでの Replace関数で、ワイル...
-
文字列からタブコードを取り除...
-
VBA2005 16進を2桁で表示したい。
-
エクセルで文字列をtxtファイル...
-
エクセルで文字列の最大値を抽...
-
Excelで3E8を3.00E+8にしない方...
-
Left関数とRight関数を合わせた...
-
アクセスで特定の数字以外(複...
-
Msgboxの×が押されたとき
-
MS SQLServer のSQLで文字列の...
-
Excelで指数表現しないようにす...
-
ORCLEでの小数の表示方法の変更...
-
【Excel VBA】複数ある特定の文...
-
エクセル 数値データを桁をそ...
-
SQL の Update文(?) と ...
-
VBの「As String * 128」とは?
-
aaa.bbb.ccc という、「ドット...
-
同一セル内に関数と文字列を同...
おすすめ情報