[[20080130102202]] 『数値が文字列として保存されています、について』(ゾル) ページの最後に飛ぶ

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

 

『数値が文字列として保存されています、について』(ゾル)

 初めて質問させて頂きます。

 =VLOOKUP(B2,sheet2!A:C,3,FALSE)
 を使ってsheet1のB2とsheet2の中で一致する項目から情報を呼び出しているのですが
 B2に入っている「8654321」が数値であるのに対し
 sheet2に入っている同じ「8654321」が文字列として入っています。
 その為だと思うのですが、上記数式にて希望する答えが呼び出されません。
 この際、sheet2の文字列の方には「数値が文字列として保存されています」と言うエラーが出ております。

 sheet2の「8654321」のセルを選択し、キャレット(って言うのですか?「|」の点滅)
を
 出した状態でエンターキーを押してやれば、正しく呼び出される様になるのですが
 行が1万行ありますので、全てのエラーを手動で直すのは困難です。

 また、sheet2のA列全体を指定してセルの書式設定から数値を選んでも
 上記の作業を行わないと反映されない様です。
 あとは、別のセルに1を入れてそれをコピーし、sheet2のA列全体を指定して
 形式を選択して貼り付け→乗算、と言った方法も試してみましたが
 上記「8654321」については良かったものの
 10000.0000
 00011.00
 1000.000
 -121
 1222.220
 12.22.00.0000
 等と言った、小数点以下の0の数自体に意味がある項目がありまして
 これが書き換えられてしまうのは問題です。

 また、sheet1のB2のセル自体を文字列に変更すれば正しく呼び出される様になるのですが、
 これについてもB2以下数千行がありますので、1個1個のセルを手動にて直すのは困難です。

 分かりにくくて恐縮ですが、名案などありましたらご教授頂ければ幸いです。

 [エクセルのバージョン]
 Excel2003
 [OSのバージョン]
 WindowsXP

 であれば、Sheet1のB列を選択し、データ-->区切り位置-->次へ-->次へ-->列のデータ形式を文字列にして完了。
 としたらどうでしょうか。
 (ROUGE)  #キャレットは ^ じゃないかな?
 訂正とお詫び。確かに文字入力のカーソルもキャレットというみたいですね(汗

 =VLOOKUP(TEXT(B2,"@"),sheet2!A:C,3,FALSE) 
 フィルダウン
 なんていうのはどうでしょう。。。(gon-2)

ROUGE様 gon-2様

ご返答ありがとうございます。
おかげで求める値を出す事ができました。
感謝、感謝です。
(ゾル)


コメント返信:

[ 一覧(最新更新順) ]


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