[[20150528135745]] 『 VLOOKUPの検索値に数式が入ってるため表示できま』(はと麦) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『 VLOOKUPの検索値に数式が入ってるため表示できません。』(はと麦)

こんにちは、ご質問させて下さい。

VLOOKUPの検索値のセルは値ではなく“=A1”のような計算式が入ってる為読み取ることができません。
“=A1”を自動で値に変える方法はありますか?件数が多い為、自動で変えられたら、
助かります。

よろしくお願い致します。

< 使用 Excel:unknown、使用 OS:Windows7 >


 =VLOOKUP(A1,B1:C100,2,FALSE)
 こういう式だった場合、どのセル範囲に計算式が入力されているのか?
 また、計算式が入っているというのはその計算式がセルに表示されているのか?
 それとも式の結果の値が表示されているのか?
(ねむねむ) 2015/05/28(木) 14:08

"A1"に計算式が入ってます。
例えば "=F8"のような計算式が"A1"入ってます。

よろしくお願いいたします。
(はと麦) 2015/05/28(木) 14:22


 >また、計算式が入っているというのはその計算式がセルに表示されているのか?
 >それとも式の結果の値が表示されているのか?
 これに対する回答がなかったが値が表示されているとして。
 値が表示されているのであればVLOOKUP関数ではその表示されている値を使って検索するので「=F8」と入っているのであればF8セルの値で検索する。

 ただしExcelでは数値と文字の数字は別とみなすがF8セルの値と検索範囲のセルの値は同じ種類だろうか?

 またはF8セルの値、または検索範囲の値のどちらかに前後に余計なスペースが付いていないだろうか?
 あと、念のためどのようなVLOOKUP関数の式を入力しているか書いてくれ。

(ねむねむ) 2015/05/28(木) 14:52


該当するシートに表示されてる内容とその計算式を書きました。

シート名:3360

F15セル表示:3360
F15セル関数:=RIGHT(CELL("filename",H15),LEN(CELL("filename",H15))-FIND("]",CELL("filename",H15)))

H8セル表示:3360
H8セル関数:=F15

I8セル表示:空白
I8セル関数:=VLOOKUP(H8,$F$52:$I$142,4,false)

この関数を入れると小さなWindowが表示され、下記のメッセージが出て関数が効きません。
内容: “The value you entered is not valid.

        A user has restricted values that can be entered into this cell.”

わかりずらくて申し訳ないですが、よろしくお願い致します。

(はと麦) 2015/05/28(木) 15:23


 英語版のExcelなのか?

 メッセージのほうは入力規則で制限されているセルに入力できない値を入力した時のものに思えるがI8セルに入力規則が設定されていないか?

(ねむねむ) 2015/05/28(木) 15:34


 すいません、横から失礼します。
 ねむねむさんもおっしゃっている通り入力規則が設定されていると思うのですが、入力規則を解除したら式を
 =VLOOKUP(H8*1,$F$52:$I$142,4,FALSE)
 にしてみてください。シート名が数値になっていますが、今の式のままだと文字列と認識されエラー(#N/A) 表示されてしまうので。
(se_9) 2015/05/28(木) 16:12

出来ました!!どうも有難うございました。
英語表記でとてもわかりずらく、入力規制を解いても#N/Aと出るので
セルを削除してインサートで新たにセルを設けて教えていただきました
式を入れましたら表示されました。どうもありがとうございました。

一つお伺いしたいのですが、なぜH8*1にするのでしょうか?

 =VLOOKUP(H8*1,$F$52:$I$142,4,FALSE)

よろしくお願いいたします。

(はと麦) 2015/05/28(木) 16:39


 =RIGHT(CELL("filename",H15),LEN(CELL("filename",H15))-FIND("]",CELL("filename",H15))) 
 この式での結果は文字列になる。

 なのでH8セルの値も文字列の「3360」、それに対して検索範囲は数値の「3360」。

 Excelでは文字列を演算子(/*-+等)を使った計算に使った場合、その文字列が表す数値に変換される。

 なので「3360」(文字列)*1と文字列に「1」をかけることで「3360」という数値に変換され、検索範囲の数値のものと一致することになる。

(ねむねむ) 2015/05/28(木) 16:45


 なお、VLOOKUP関数の式はそのままで
 =RIGHT(CELL("filename",H15),LEN(CELL("filename",H15))-FIND("]",CELL("filename",H15))) 
 を
 =RIGHT(CELL("filename",H15),LEN(CELL("filename",H15))-FIND("]",CELL("filename",H15)))*1
 とするか
 =F15
 を
 =F15*1
 としても同じ結果になる。
(ねむねむ) 2015/05/28(木) 16:52

計算式をどうやって文字列、または数字に変えて読み取るのだろう?
とずっと悩んでましたので、目から鱗の情報をどうも有難うございます。

よく計算式を組むので、教えていただきましたこの式を都度使います。

貴重な情報をどうも有難うございます。

とても助かりました。
(はと麦) 2015/05/28(木) 17:03


 なお、今回とは逆に数値を文字列の数字にする場合は
 =A1&""
 と""(空文字)と文字結合すると文字列になる。
(ねむねむ) 2015/05/28(木) 17:16

これで数字と文字列に変更することができるようになり
とても助かります。

どうも有難うございました。

(はと麦) 2015/05/28(木) 17:50


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.