- ベストアンサー
文字列が数値に変換されない
文字列の数字をVALUE関数で数値に変換したくても数値になりません。 ♯N/Aと表示されるだけです。 関数を入れたあとに表示形式を数値にしても変わりません。 元の文字列はVLOOKUP関数で検索した数字です。 これができないと仕事が進みません。急いでます。お願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
"1枚"とか"5円"とか数字以外の文字があるとエラーしますが この場合は#VALUE!(数値以外で四則演算を行った)ですね。 #N/A!だと、VLOOKUPの検索値が対象範囲の左列から見つからなかったエラーです。 考えられのは、 1.検索値が数字で、対象範囲が文字列の数字 2.検索値が文字列の数字で、対象範囲が数字 3.対象範囲に検索値以外の文字(スペースを含む)が存在する。 4.VLOOKUPの最後の引数がTRUEで、対象範囲が昇順で並べ替えていない。 の4つです確認してみてください。
その他の回答 (3)
- yuubou
- ベストアンサー率41% (35/85)
まず、最初に確認させてください。 VLOOLUP関数の戻り値は、<全て>数字に見える形になっていますでしょうか? (1)数字に見えない物もある→VLOOKUP関数のテーブルか関数の指定方法に問題があります (2)全部数字に見える→ここから、チョッと難問に VLOOKUP関数では、最終パラメータ(FALSE/TRUE)の与え方で挙動が変わります。 FALSEを指定すると、テーブルに100%合致しない場合は#N/Aが返ってきます。 TRUEの場合は、近い値を返してきます。 私の検証では、(2)の場合は、VALUE関数で正しく数値に変換されました。 どうしても、VLOOKUP関数から戻る値に#N/Aが含まれるのであれば「ISNA:Is Not Available」関数と IF関数を使って、処理を分ける必要があると思います。
お礼
ありがとうございました。 ISNA関数を使用してもTRUEという文字がかえるだけでした。 皆様、ほんとうにありがとうございます。助かりました。関数が使えなかったらひとつひとつ検索して手入力になるところでした。 No.3様のところにお礼に書いたように検索値も対象範囲も文字列なのが原因でした。凡ミスで大騒ぎしてたようでお恥ずかしいです。 ほんとうに助かりました。
- tottomezou
- ベストアンサー率0% (0/3)
関係のないセルに 1 を入力します。 そのセルをコピー VLOOKUPを参照するセルに 形式を選択して貼り付けの乗算をクリックして、OKを押す。 念のため、形式を選択して貼り付けの除算をクリックして、OKを押す。 これで結構直ったりします。
お礼
ありがとうございました。 >「関係のないセルに 1 を入力します。そのセルをコピー」 のやり方がよくわかりませんでした。 解決いたしましたので詳細は最後の方のお礼欄に記入します。
- ham_kamo
- ベストアンサー率55% (659/1197)
その文字列(VLOOKUPで参照している表)は、他のシステムから何らかの形でインポートしたものか、あるいはコピー&ペーストで貼り付けたものでしょうか。 もしかしたら、目に見えない制御文字が入っているかもしれません。 A1に数字(の文字列)が入っているとすると、別のセルに=LEN(A1)と入れて文字数を調べてください。4桁なのに5などと表示されると、制御文字が1桁入っているので、 =VALUE(LEFT(A1,LEN(A1)-1)) という感じで取り出せないでしょうか。
お礼
ありがとうございました。 はい、他のシステムからインポートしたものです。 数式=LEN(A1)を入れても数値がかえらず見かけが数式のままでした。 解決しましたので詳細は最後の方のお礼欄をご覧ください。
お礼
ありがとうございました。 検索値も対象範囲も文字列でした(><) 関数でかえった答えを数値にすればいいと思ってたのが間違いでした。 単純ミスだったようで恥ずかしいです。