ベストアンサー 文字列から数値への変換 2002/09/21 20:47 セルの書式設定(表示形式タブ)で文字列を数値に変えるのと、 VALUE関数で文字列を数値に変えるのとでは何か違いがありますか? (excel2000です。) みんなの回答 (4) 専門家の回答 質問者が選んだベストアンサー ベストアンサー comv ベストアンサー率52% (322/612) 2002/09/21 22:34 回答No.3 こんにちは! 既に入力されている 文字列の数字 に対しての 扱いとしては、全然違うものです。 表示形式は 表示(見た目)を変えるだけでデータ自体の 形式を変えるものではありません VALUE関数 はご存知の通り 文字列の数字 を 数値 に 変えるもので 文字列形式→数値形式 と形式が変わります 例 A1に 書式設定 表示形式 文字列 で 数字を入力 123 当然 文字列として左揃えで表示されますが その後 表示形式を 数値 にしても データは 文字列のままです。 B1に =VALUE(A1) で返された結果は 数値 です。 両方試した時点で A2に =SUM(A1) B2に =SUM(B1) と入力してみて 下さい 結果は A2は0 B2は 123 となる筈です。 逆の入力と設定(数値→文字列) A1に 書式設定 数値(標準でも可) 123 と入力 その状態で 表示形式を 文字列 としても =SUM(A1) では 123 の結果が返ります 見た目は左揃えの文字列ですが入力した時点の数値の形式 はそのままです。 数式で数値から文字列への形式変換なら =A1&"" とか =TEXT(A1,"0") などでしょうか! 再度上書き入力すれば設定通りの形式で入力されます! ま~これは「変える」わけではなく入力し直すだけですが 質問者 お礼 2002/09/22 06:42 comvさん、こんにちは。 >表示形式は 表示(見た目)を変えるだけでデータ自体の >形式を変えるものではありません そうだったんですか!実は具体例に示されたとおり、 集計時に集計されるときと、そうでない時があったので、何でなのか なあといつも思っていたのです。 このような質問は調べることが難しくて今回、こちらを利用させて いただきました。回答ありがとうございました! 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 その他の回答 (3) imogasi ベストアンサー率27% (4737/17070) 2002/09/21 22:48 回答No.4 「文字列を数値に変えるのと」とあるので、文字列も数字0-9を連ねた文字列のことを仰っていると思いますが、(1)「’」を先頭につけて入力する。(2)数値で入力して書式で文字列にするなどを指しておられるのでしょうが、元々エクセルでは入力する文字が0-9ばかりかどうかが差が出るだけです。 文字列で数字を入れるのが難しい。と言うのは(1)(2) とも=A1*2などの演算ができてしまう。自動的に型変換が行われるとも言えます。「’」のケースも文字列というよりは、左づめと言う意味合いである。差が出たのは=T(A1)の結果ぐらいでした。('2000の時は2000,2000の時はスペースとなる。) (3)'2000を書式-セル-表示形式-数値にしても表示も変わらず=T(A1)も2000(左詰のまま)でした。 したがって質問の意味がよくわかりません。 敢えて言えば、表示形式で数値化は何も効果が見えない。(この点反証があればどなたかご教示願いたい)。 質問者 お礼 2002/09/22 06:47 回答ありがとうございます。No3の方の回答で解決しました。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 Hageoyadi ベストアンサー率40% (3145/7860) 2002/09/21 21:03 回答No.2 うーん、出来上がったファイルの大きさに違いがあるのかもしれませんが・・・ たとえばセルA1に「=VALUE("$1,000")」とした場合は、セルの書式設定と結果は変わりませんね。 でもVALUE関数を使う場合は、入れ子として別のセルや計算の結果を放り込むことができて用途が広がりますよね。 例 A1に「$1,000」B1に「$3,000」C1には「=VALUE(TEXT(A1,0)&TEXT(B1,0)」と入力するとC1の表示は「10,003,000」となります(ってこのたとえじゃなんの役に立つか分からん)。 質問者 お礼 2002/09/22 06:47 回答ありがとうございます。No3の方の回答で解決しました。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 osamuy ベストアンサー率42% (1231/2878) 2002/09/21 20:53 回答No.1 内部的には違いあるかと。例えばファイルサイズが変わるとか。 ただし、ユーザーのオペレーションに対して、Excelが自動型変換を行うので、実用上違いはないと思います。 まあ、多分、私が違いを知らないだけなのでしょうが。 質問者 お礼 2002/09/22 06:47 回答ありがとうございます。No3の方の回答で解決しました。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ パソコン・スマートフォンソフトウェアオフィス系ソフト 関連するQ&A 文字列が数値に変換されない 文字列の数字をVALUE関数で数値に変換したくても数値になりません。 ♯N/Aと表示されるだけです。 関数を入れたあとに表示形式を数値にしても変わりません。 元の文字列はVLOOKUP関数で検索した数字です。 これができないと仕事が進みません。急いでます。お願いします。 Excelの「’」とセルの書式設定(文字列)の違い こんばんわ。 Excelの文字列表示について、教えてください。 数字を入力する際に、先頭に「'」を入力すると 文字列として入力することが出来ますが、 数字が入っているセルのセルの書式設定から 「文字列」に表示形式を変更することとの 違いはなんなんでしょうか? やり方は違うけれど、結果は同じということでしょうか? 「'」を入力すると、データが文字そのものに変わり、 表示形式を変更すると、見た目だけ(左揃えになるなど) 文字列のように見えるだけで、データは 数字のままということなんでしょうか?? また、文字列として入力された数字を Value関数で数値に変換してしまうのと セルの書式設定で「数値」に変更するというものも 同じように、違いが良く分かりません。。。 もう、頭の中が「??」だらけです。 違いを教えていただけたら・・・と思います。 どうぞよろしくお願いいたします<m(__)m> Excelで数値が文字列になっています Excel2010で「このセルにある数値がテキスト形式か、またはアポストロフィで始まっています」という警告が表示されたりして、計算が出来ません。 打ち直ししたり、「エラーチェックルール」で「文字列形式の数値、、またはアポストロフィで 始まる数値」のチェックを外したりして計算は出来るようになります。 「表示形式を変えてもセルの中の値は変化しません。数値データは数値のまま、文字列データは文字列のままです。」とは本当ですか? 本当ならば、数字の保存形式が文字列データかどうかを確かめる方法はありますか? なお、ISNUMBERという関数ではTRUEと出ます。 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? OKWAVE コラム 【Excel2003】文字列で保存されている数値の書式設定を数値に変換 Excel2003です。 文字列で保存されている数値の書式設定を数値に変換する関数等がありましたらぜひ教えてください。 よろしくお願いします。 指定の文字列を指定の数値に変換する方法 エクセル2002で、指定の文字列を指定の数値に変換する方法を教えて下さい。 下記から、数字を文字列に変換する方法はみつけたのですが、逆ができません。。 [書式(O)]→[セル(E)...]→[セルの書式設定]→[表示形式]→[分類(C)]→[ユーザー定義]内。 [=1]"ABC";[=2]"赤青黄色";"未定" もちろん、関数でもかまわないのですが、適当なものが見つかりません。 例えば、こんな感じに変換。 ABC →1 赤青黄色 →2 大根にんじん →3 昼休み →4 放課後 →5 よろしくお願いします! エクセル 文字列で入力した数字を数値にする エクセルで、文字列の設定で入力した数字は、[セルの書式設定]で、数値として設定しても、文字列のままになります。 (セルの左上に、文字列と分かる緑の三角が付いたままになり、表を作ってもグラフの表示は出来ません。) 数値として数字を入力をした後、[セルの書式設定]で文字列にして、再び[セルの書式設定]で数値にすると、数値にはなります。 (この場合、文字列にしても、セルの左上に緑の三角が付かず、このまま表を作ると数値(小数点以下が0の場合は小数点以下が削除されます。)の扱いとなりグラフの表示が出来ます。) 文字列で入力した数字は、数値にはならないのでしょうか? よろしくお願いいたします。 セルの書式が標準なのに文字列にできるのはなぜ? 会社のシステムで吐き出したデータですが セルの書式設定が標準なのに文字列となっています。 マクロを利用して、あるセルの値を別セルへ転記すると、 数字は数値に変換され、先頭の0は消え、桁数が多いと指数表示になってしまいます。 会社のシステムが吐き出したエクセルはセルの書式が標準なのに 中の数字が文字列でいられるのが疑問です。 会社のシステムの吐き出したデータは Microsoft Excel 2.1ワークシートで 全てのセルの書式設定は「標準」です。 で例えば 12345678901234 は 12345678901234 と表示されていて 「数値が文字列として保存されています」 となっています。(先頭に ' は入っていません) 0101という値のセルでも 表示は0101ですが 「数値が文字列として保存されています」 となっています。(先頭に ' は入っていません) それらのセルの値をマクロとかで別セルに転記すると 転記先では1.23457E+13 と表示されてしまいます。 (0101は101になります。) まっさらなエクセルに自分で手入力すると ・セルの書式設定が標準だと 12345678901234 ↓ 1.23457E+13になります。 ・セルの書式設定が数値だと 12345678901234 ↓ 12345678901234 ・セルの書式設定が文字列だと 12345678901234 ↓ 12345678901234 (ただし 数値が文字列と保存されています と注釈有) なのに会社のシステムの吐き出しデータは セルの書式設定が標準なのにもかかわらず 12345678901234 ↓ 12345678901234 (ただし 数値が文字列と保存されています と注釈有) となっています。 手入力で書式設定が標準の状態でセルに12345678901234 と表示させるには先頭に ' をつける方法しか知りませんが ' が無いのに表示されています。 でもこの該当セルをマクロで別セル(書式設定:標準)に転記すると 1.23457E+13 となります。 またシステムが吐き出したエクセルの同じシート内に 以下のマクロで転記すると ↓ Sub 転記() 行 = 2 Do If Cells(行, 6).Value = "" Then Exit Do If Cells(行, 6).Value >= 10 Then Cells(行, 7).Value = Range("A2") Else Cells(行, 7).Value = Range("A3") End If 行 = 行 + 1 Loop End Sub ↓ このマクロだと A列~F列が書式設定が標準なのに文字列として表示されているのですが 転記先のG列が書式設定が標準であっても 12345678901234 (数値が文字列と保存されています と注釈有) と同じ状態のまま転記できます。 新しいBOOKのシート2に 会社の吐き出しデータをシートコピーした後、 (セルの書式設定:標準だが文字列で表示されている) そのBOOKに登録されているマクロで シート2のセルからシート1のセル(書式設定:標準)に転記すると 数字は数値に変換され、先頭の0は消え、桁数が多いと指数表示 となってしまいます。 ちょっと混乱しています。 理屈等教えていただければと思います。お願いします。 数値を表示だけ特定の文字列に変換したい。 Excelにて、セルに数値を入れた際に表示だけ特定の文字列に変換したいです。 例えば 0.5 → ”半分” 1 → ”全部” 0~1までの少数第二位までの数値 → ”ちょっと” という形にしたいです。 ただ、別のセルの計算式で値を使うため、表示だけを変更したいのです。 書式設定でできるのかと思っていましたが、うまくいきませんでした。 どなたか教えて頂けないでしょうか? 数値でも文字列でもない? 【Excel】 シート内の値はCSV形式のものをコピーしたもので、文字列の表示(左詰め)になっています。 因みにセル間の足し算や引き算はできます。 しかし 数値の最大値を計算しようと思い MAX関数にて計算しても”0”の表示 文字列なのかと思い MAXA関数にて計算しても”0”の表示 関数(その他SUMやCOUNTA)での計算ができません。 そこで質問ですが、 この場合のセルの表示形式はどうなっているのでしょうか? また計算する方法を教えて下さい。 お願いします。<(_ _)> VBAで数値を文字列にして入力したい Range("A" & X).Value = Year(Date) Range("B" & X).Value = Right("0" & Month(Date), 2) このVBAでは セルの書式指定で文字列にしても 文字列の指定を外すと数値に戻ります。 でも、文字列の設定を外したら 数値に戻らないものもあり ピボットテーブルで集計した時に 同じ「2013」が2種類存在してしまいます。 どうしたらいいですか? 【Excel】セルの書式設定で標準と文字列の違い 「セルの書式設定」の「表示形式」での「標準」と「文字列」の違いについてです。 「文字列」は「[文字列]は、数値も文字列として扱います。セルには入力した値がそのまま表示されます」 とあります。 しかし「文字列」に数値を入力するとセルの左上に、グリーンの▼印がでてきて、「数値が文字列として保存されています」というエラー表示がでます。 数値も文字列として扱われるはずですがなぜなのでしょう。いちいち「エラーを無視する」にしなければならないので面倒だなと思いますので、今度は「標準」で入力しようと思いますが、 「標準」は「セルの値に対して一般の書式を適用します(特定の書式を指定しません)」 とのことです。一般の書式、特定の書式が何を指すのか分かりません。 文字列が、数値として扱われない理由と、「標準」「文字列」のそれぞれの特徴を教えてください。 文字列と数字を含むセルから数値のみをとりだす関数と、文字列のみを取り出す関数があれば両方教えてください! (Excel 2003 ) 文字列と数字を含むセルから数値のみをとりだす関数と、文字列のみを取り出す関数があれば両方教えてください! ヤバいパソコンが壊れたかも!?事前に知っておきたい3つの兆候と対策 OKWAVE コラム Excelの文字列と文字列の連結 A1のセルにはj50 C1のセルには01(ユーザ定義で00の書式) この二つの数値をCONCATENATE()関数を用いて文字列を 連結するとj501となってしまいます。 C1のセルを文字列の書式にするとうまくj5001と表示されますがそれ以外に方法はないでしょうか? Excelの数値を文字列にするにはどうしたらいいですか? セルの[表示形式]→[ユーザー定義]を利用して #/12 と設定して分数を表示しているセルがあります。 例えば 8/12 という表示になっていても、中身は計算式ですから、数値としては 0.666666・・・ となっている訳です。 これを、表示通りの文字列 8/12 または大文字で 8/12 と変換する方法はありませんか? ぜひ教えてください。 よろしくお願いします。 エクセルで半角数字には数値と文字列がある? http://okwave.jp/qa/q6473596.html の質問を見て私も納得がいかず質問させていただきます。 たとえば、A1セルの書式を文字列に設定してから半角で数字を打ち込むと数字は数値でなく文字列としてセルに入ります。 この入力後、A1セルの書式を標準や数値に直してもそのセルの中の数字は左に寄ったままで文字列のままでいるようです。 (でもこれをセルの中でエンターキーを押したりすると数値になってしまいますが) 次にB1セルの書式を標準あるいは数値にして数字を打ち込むと、当然のことですが数字は数値としてセルに入ります。 この入力後、B1セルの書式を文字列に変えると数字は左に寄りますから一見文字列になったように見えます。 ところが上記のセルとこのセルをA1=B1で試してみるとFALSEが返ります。 逆に同じ数字を数値として打ち込んだセルと=で試すとTRUEが返ります。 これはA1とB1は同じ文字列としての数字ではないという証拠だと思います。 B1セルの書式を標準に戻すとまた数字は右よりにもどりますから、セルの中の数字は数値のままのようです。 つまり、半角の数字にはセルの書式にかかわらず文字列と数値の二つがあるということなのでしょうか? だとしたらこの二つはどうやって区別すればいいのでしょうか? 文字を数値として認識させる方法 列で足し算をしたいのですが、その列に文字が含まれています。 その文字は無視して、足し算をしたいのですが、文字の入っているセルを書式設定で「数値」にしても、VALUE!となって計算できません。 入っている文字を「0」とみなして、残りのセルに入ってる数字の足し算をができれば一番いいのですが、どなたか方法をご教示いただけないでしょうか? よろしくお願いします。 Excel2003、文字列を数値に変更したいけど、セルの書式変更で変更しても反映されません (Excel 2003) セルP1には以下の数式が入っています。P1のセルには数値のみの情報が入っています。例:11 しかし replace 関数によって取り出されたものは文字列扱いでした。そこで セル P1 のセルの書式を変更し、「数値」を選択しました。しかし結果は変わらず、あいかわらず文字列のままです。どうすれば数値を得られるでしょうか? =REPLACE(C1,1,15,"") EXCEL関数 文字列の一部の数字文字を数値化して計算につかいたい EXCEL関数について質問です。 あるセルの文字列に記載されている一部の数字文字を 数値化して計算につかいたいと思っています。 <例> あるセルの文字列(A1)⇒あいうえお12345番目の方 出力したい数字文字⇒12345 知る限りの関数を使って以下の関数式を作ってみました。 (1) MID関数を使う 最初の文字「あいうえお」は10バイトなので開始は「11」としました。 (2)後に登録されている「番目の方」を除きたいので SEARCHB関数を使って、「番目」の開始バイトを見つけ そこから最初の文字バイト「11」を引き、抽出するバイトを求める。 (3)抽出した文字列を数値に変換するVALUE関数を使う。 次の関数式を作ってみました。 =VALUE(MIDB(A1,11,SEARCHB("番目",A1,1)-11)) でも結果は「」となります。 何がいけないのかわかりません。エラーの原因がわかれば教えて下さい。 ほかによい方法があれば教えてください。 よろしくお願いします。 エクセル 文字列のセルが###表示になります エクセル2000です。 文字列のセルで <SELECT name=show><OPTION selected value=_unselected_カラーを選択して下さい>カラーを選択して下さい</OPTION><OPTION value=カラー:BLACK&BLACK>カラー: BLACK&BLACK</OPTION><OPTION value=カラー:GOLD&GOLD>カラー: GOLD&GOLD</OPTION></SELECT> だと、表示されるのに、 <SELECT name=show><OPTION selected value=_unselected_カラーを選択して下さい>カラーを選択して下さい</OPTION><OPTION value=カラー:BLACK&BLACK>カラー: BLACK&BLACK</OPTION><OPTION value=カラー:GOLD&GOLD>カラー: GOLD&GOLD</OPTION><OPTION value=カラー:CLOME SILVER>カラー: CLOME SILVER</OPTION></SELECT> だと、#########表示になります。 セルの幅を広げても変化ありません。 数式バーにカーソルを置くと(文字を入力する状態にすると)数式バーにもセルにも内容は表示されますが、確定するとセルは###表示に戻ります。(確定後も数式バーには内容が表示されています) セルの書式設定は、どちらも文字列で、配置なども全く同じです。"折り返して表示"や"縮小して表示"なども試しましたが、変わりません。 セルの書式設定で表示形式を色々試してみたところ、サンプル表示で###になるのは、「標準・会計・文字列」でした。その他の表示形式にすると(数値など)にすると正しく表示されます。 表示形式を「数値」にしてもよいのですが、できれば「文字列」で統一しておきたいのですが・・・。 原因はわかりますでしょうか? 数値を文字列に変換 文字列を数値変換する関数はありますが、逆に数値を文字列に変換するにはどうやればよいのでしょうか? 注目のQ&A " Some " や " How " が入った曲。 ケーブルテレビのYouTube 何故、世の中には許される人と許されない人がいるの? トランスのプライマリーとセカンダリーを逆に!? Windows11にアップグレードしたいです。 好きな人を虜にする方法 施設で育った方とのお付き合いや結婚について PC組み立て後、映像が出力できず困っております。 中高年の恋愛は告白いらないですか? 恋愛相談 教えてください カテゴリ パソコン・スマートフォン ソフトウェア Excel(エクセル)Word(ワード)PowerPoint(パワーポイント)Access(アクセス)その他MS Office製品オフィス系ソフトPhotoshop(フォトショップ)Illustrator(イラストレーター)その他Adobe製品画像・動画・音楽編集ホームページ作成ソフト筆まめ・はがき作成フリーウェア・フリーソフトその他(ソフトウェア) カテゴリ一覧を見る OKWAVE コラム 人命救助の最後の砦!過酷な任務に挑む!航空救難団になるためには? 楽しく踊って痩せる?ZUMBAの魅力とは 3月生まれは不利?早生まれのメリット・デメリットを解説 筋トレで痩せやすくなる?基礎代謝アップ&アフターバーン効果の秘密とは! 🎥 ガンダムシリーズを見たい!どこから見るのがオススメ?🔍 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
comvさん、こんにちは。 >表示形式は 表示(見た目)を変えるだけでデータ自体の >形式を変えるものではありません そうだったんですか!実は具体例に示されたとおり、 集計時に集計されるときと、そうでない時があったので、何でなのか なあといつも思っていたのです。 このような質問は調べることが難しくて今回、こちらを利用させて いただきました。回答ありがとうございました!