• ベストアンサー

文字列での関数式

当社の商品のコードには、頭に”0”が付きます。 質問1:数字の頭に”0”が付くと言うのは、エクセル上では、あくまでも文字列であって、数字ではないのでしょうか?或いは、”0”を付けて、数字として認識する方法はありますか? 質問2:既に”0”付きで、入力してあるコードのリストで、VLOOKUPの関数式を使う方法はありますか? 質問3;文字列で入力してある数字を、エクセル上で数字に変換する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

#3です。 >数値でも”0”が頭についたまま表示できるかということです。”’”を付けた場合、数値でしたっけ 例えばA列のA1:A10を範囲指定して、書式-セル- 表示形式-文字列に設定します。 そしてA1セルに(’など付けないで)01234, A3セルに00123と入れて見てください。 そしてB1にでも=A1+A3と入れて見てください。 VALUE関数を付けなくても、A1、A3のデータを数値として扱って加算していることがわかります。と言うか数値でエクセルのデータ部にはセットされています。それを表示する形式が文字列になっていると言うことです。エクセルでは、データ記憶領域と表示形式に直した内容の記憶領域(か表示形式か)が別になっていることは確実です。         --表示形式標準-データ  1         | または数値   表示   1 00012と入力--| |         --表示形式文字列-データ 1                   表示 00012

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

エクセルはデータ内容と表示形式(見た目)が分裂しています。 >数字の頭に”0”が付くと言うのは、エクセル上では、あくまでも文字列であって、数字ではないのでしょうか 見た目で(表示形式で)0が付いているのかどうかはっきりさせないとこの質問が答えられません。 >0”を付けて、数字として認識する A1セルに’010といれ、A2セルに’08といれ A3セルに=VALUE(A1)-VALUE(A2)といれると、2となりますが、これは「数字として認識」したのでしょうか。 相互変換が可能なんです。 >既に”0”付きで、入力してあるコードのリストで、VLOOKUPの関数式を使う方法はありますか この「既に”0”付きで」というのも、見た目かデータか によって答えが変ります。但しVLOOKUP関数の検索値(第1引数)はデータ値で比べるので、1方は表示形式でそう見えて、表の方はデータ値がそうであるような比較検索を行うと、検索が旨く行かないでしょう。 >文字列で入力してある数字を、エクセル上で数字に変換する方法を教えてください。 =Value(A1)や=A1*1です。 >「数字に変換する」は、ご質問者の意図を汲むと、「数値に変換する」と言わなければなりません。 文字列<-対立語-->数値。 数字は文字列の場合もあり、数値の中で現れることもあり。

e-toshi54
質問者

お礼

ご教示ありがとうございました。小生の質問中、”数字”は”数値”と読み替えて下さい。m(__)m 残る疑問としては、数値でも”0”が頭についたまま表示できるかということです。”’”を付けた場合、数値でしたっけ? → 自分で調べます。

回答No.2

1.頭0をつけるセルを指定し、Ctrlキー+1(キーボードから)で、表示形式/ユーザー定義で、"0"#と設定します。 120を入力すれば、0120と言う数字でます、という方法もあります。 2.すみません、質問の意味がよくわからないので、すが、頭0つきで文字列であるのであれば、そのままVLOOKUP関数が使えます。 3.#1回答のとおり、=value(A1)を使えばよいと思いますが。

e-toshi54
質問者

お礼

回答ありがとうございました。 VLOOKUPで、数値でなくても参照可能なのかと言う初歩的な疑問も解けました。・・・となると、”あいうえお”でも、リストは作れるのかな~?(独白)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

質問1 例えば、セルの書式設定でユーザー定義に「000」と入れておいて、設定したセルに「1」と入れると「001」と表示されます。 質問2 文字列を数値にするならするなら =Value(A1) 数値を文字列にするなら =TEXT(A1,"0000") のような感じでVLOOKUPの検索値と合わせれば良いと思います。 質問3 セルの書式設定を標準にしてから、1列の範囲を選択して、メニューのデータ-区切り位置-次へ-次へ-OKで一気に変更出来ると思います。

e-toshi54
質問者

お礼

ご教示ありがとうございました。 回答の内容を参考に、いろいろ試してみようと思います。

関連するQ&A

  • Excel 文字列にする関数

    エクセルが苦手なので教えてください! 選別番号で6桁の数字を使っているんですが、頭の数字が0から 始まるものがあり、セルに入力するとその選別番号だけ5桁に なってしまいます。 文字列にすればいいということだけはわかっているのですが、 すでに数字が入っている列に対して、関数を使って以下のような ことはできますか? (1)選別番号が5桁だったら、頭に0をつけて6桁にする、  かつ文字列にする (2)選別番号がすでに6桁だったら、そのまま文字列に変換 宜しくお願いします!

  • 文字列から時間を取り出しif関数で大小を決めたい

    こんにちわ。エクセル2003での質問です。 1列目に1~31日の休憩時間、 2列目に1列目の時間が45分以上経過の場合に×、未満の場合に○を表示させるif関数を作る予定です。 この休憩時間についてですが、別のシートからvlookup関数で呼び出しており、 これが文字列扱いになるため単純に「45分」以上かどうかが作れません。 休憩時間は「:30:30」というふうなエクセルとしては計算できない文字列で表示され、しかも時間、分、秒まで表示されます。 なんとかして「:30:30」というような文字列から、数字(分)を取り出し、大小の比較に使えるようなものに変換できないでしょうか。 なお検索サイトで調べてみましたが、「時刻」のことは載っているのですが今回のような「時間」に関してはうまく見つかりませんでした。エクセルでは自国も時間も同じ考え方なのでしょうか。 変換できる場合は、if関数で使えるように45分がなんという数字に変わるのか、セルの書式はどのようにすればいいのかも、あわせて教えていただけますでしょうか。 45分以外に60分の場合もあわせてお願いします。

  • PDFをExcelに変換した文字が関数で判別しませ

    変換PDFというソフトでExcelに変換させた文字(数字)が関数の時に認識できません。 手で入力しなおすの認識するので、関数には問題はないと思うのですが、 簡単に認識できるようにする方法はありませんか?

  • Excel2007 VLOOKUP関数の相談

    もし検索不足で重複した質問でしたら申し訳ありません。 VLOOKUP関数について、シート「A」に文字列を入力したら シート「リスト」シート上に同じ文字列があれば その文字列関係の情報を持ってくるというVLOOKUP関数を使用していました。 <使っていた関数> =IF(ISERROR(VLOOKUP(H306,リスト!A:B,2,0)),"",VLOOKUP(H306,リスト!A:B,2,0)) この入力する文字列が数字(別データからコピーして貼り付ける)に変わっただけなのですが、 何故か対象情報の抽出をしてくれません。 <使おうとしている関数> =IF(ISERROR(VLOOKUP(I2,データ0501!A2:F695,3,0)),"",VLOOKUP(I2,データ0501!A2:F695,3,0)) ネットで検索したのですが、関数情報が不足しているのか、 コピーした数字列の貼り付け方が間違っているのかわからない状況です。 恐れ入りますが解決策があればお教えいただければと思います。 どうぞ宜しくお願い申し上げます。

  • 文字列が数値に変換されない

    文字列の数字をVALUE関数で数値に変換したくても数値になりません。 ♯N/Aと表示されるだけです。 関数を入れたあとに表示形式を数値にしても変わりません。 元の文字列はVLOOKUP関数で検索した数字です。 これができないと仕事が進みません。急いでます。お願いします。

  • 関数の入っていない文字列にしたい

    Excel2000を使用しています。 VLOOKUPなどで検索した文字を(別のセルにでもOK)関数の入っていない 文字列に変換することは可能でしょうか? ※もとのデータ等は削除して、検索した文字だけを保存したいのに関数が入っていると 検索にて表示した文字がエラー表示になるので困ってます。 宜しくお願いします。

  • エクセルのVLOOKUP関数

    エクセルでVLOOKUP関数を使ってます。 一般的には、たとえば製品番号(数字)を入力すると 製品名(文字列)を引いてくるという使い方でVLOOKUP 関数を設定すると思いますが、製品名を入力すると、製品番号を引いてくるように設定しようと思ったらうまくできません。 何かよい方法はありますか?

  • VLOOKUP関数について、文字列と数値の問題

    お世話になります。現在、商品リストを作っておりまして、VLOOKUP関数を使っているのですが、エラーになってしまいます。 =VLOOKUP(A1,Sheet2!$A$2:$B$6,2,FALSE) という関数を使っているのですが、 A1に3桁のコードを入れるとSheet2のA2:B6から値を返すようになるのですが 「110」というコードを入力すると「白」と出てくるのですが、「010」というように0から始まるコードだと エラー#N/Aになってしまいます。セルによっては逆の現象が起こったりします。 文字列を数値にしたり、その逆を試してみたり(A1もsheet2の参照データも調節しましたが)したのですがどうしてもうまくいきません。 何が原因なのかまったくわからないのですが、心当たりのある方教えていただけますでしょうか。 よろしくお願いいたします。

  • 文字列を日付に変換

    エクセル2003を使っています。 あるセルに'2009/6/19等が入っています。 頭に'が入っているため、日付とは認識せずに文字列として認識している為、困っています。 どうやれば、日付に変換できるでしょうか? 関数やVBAでも良いので、やり方を教えて頂けないでしょうか?

  • excelで文字列を検索する関数を教えてください。

    いつもお世話になります。 エクセルの関数で、シートAのセルA1に入っている文字列をシートBのC列から探し出し、同じ文字列があればTrueをなければFalseを返す関数を教えてください。 わからないながらも色々調べてみたのですが、検索にはVLOOKUPがよく使われているようですが、シートBのC列は、データの並べ替えができないので、VLOOKUPは、使えないのです。 よろしくお願いします。

専門家に質問してみよう