• ベストアンサー

Excelで文字列の数字を一括で数値に変換する方法

ある人事ソフトからテキスト形式でExcelにデータを吐き出すと、社員コード(8ケタ)の前にシングルクォーテーションマーク(')が付いた状態で吐き出されます。 この状態でも四則計算はできるのですが、VLOOKUPの「検索値」にはできません。 =RIGHT(セル番地,8)という関数でシングルクォーテーションマークを取ってもまだダメです。 また、この時点で「セルの書式設定」を数値に変更しても設定は反映せず、VLOOKUPの「検索値」にも使えません。 最終的に、該当するセルを[F2]で編集モードにして[Enter]を押すことにより、初めて「セルの書式設定」で指定した設定が反映し、VLOOKUPの「検索値」としても使用できるようになります。 この一連の作業(特に[F2]+[Enter])を一括で処理できる方法はないでしょうか? 毎度毎度のことなので、何か方法がないものかと本当に困っています。 どうか、ご指導のほどよろしくお願いいたします。

  • Age40
  • お礼率87% (27/31)

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

  • ベストアンサー
noname#204879
noname#204879
回答No.4

VLOOKUP の書式は、=VLOOKUP(検索値,範囲,列番号,検索の型) であることはご存知のとおり。 「検索値」が数値の場合は「範囲」のデータも数値でなければならないので、仰っていることは理解できます。しかし、「範囲」のデータが文字列ならば、手間を掛けてそれを数値化せずに、逆に「検索値」の数値を文字列化してやればよろしいかと。 「検索値」にセルアドレス(例えば A1)を指定しているのなら、「検索値」を A1&"" にしてみてください。

Age40
質問者

お礼

お礼が遅れて申し訳ありませんでした。 実際にやってみました。 数字が文字列のままで検索できるなんてびっくりしました。 すごいテクを知った感じです。 ありがとうございました。

その他の回答 (4)

noname#79209
noname#79209
回答No.5

> ある人事ソフトからテキスト形式でExcelにデータを吐き出すと、 > 社員コード(8ケタ)の前にシングルクォーテーションマーク(')が付いた状態で吐き出されます。 「コード」なので文字列扱いするのは妥当な事です。 逆に検索範囲のデータが、コードであるにもかかわらず数値となっていることが問題なのでは? 検索範囲側をなおすのが面倒なら、質問者さんが自ら提示されている =RIGHT(セル番地,8) をチョット手直しして =VALUE(RIGHT(セル番地,8)) とすれば 「'00123456」(文字)→「00123456」(文字)→「123456」(数値) と変換されます。

Age40
質問者

お礼

お礼が遅れて申し訳ありませんでした。 実際にやってみました。 =VALUEの関数は覚えました! ありがとうございました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.3

1)どこか適当な空きセルに数値としての[1]を入力してコピー。 2)数値化したいセルを選択し、右クリックメニューの「形式を選択して貼り付け」を選択 3)「値」と「乗算」をクリックして「OK」 で行けます。

Age40
質問者

お礼

お礼が遅れて申し訳ありませんでした。 実際にやってみました。 このテクもすごいです。 ありがとうございました。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

方法1 空のセルをコピーして、文字列の数値のセルを選択 「編集」「形式を選択して貼り付け」で「値」「加算」でOK 方法2 文字列の数値のセルの列を選択(1列だけにしてください) 「データ」「区切り位置」で「次へ」「次へ」で表示形式を「標準」にして「完了」 方法3 文字列の数値のセルの範囲を選択してコピー 空いている場所に「編集」「形式を選択して貼り付け」で「加算」でOK 貼り付けた範囲をコピーして、元の範囲に貼り付ける。 方法4 =VALUE(RIGHT(セル番地,8)) または =RIGHT(セル番地,8)*1 の結果をコピーして元のセルに「編集」「形式を選択して貼り付け」で「値」でOK

Age40
質問者

お礼

お礼が遅れて申し訳ありませんでした。 実際にやってみました。 方法4は初めて知った関数です。 新しい関数を覚えるのはホントうれしいです。 ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

対象列を選択→データ→区切り位置→完了で数値に一括変換されますのでお試し下さい。

Age40
質問者

お礼

お礼が遅れて申し訳ありませんでした。 実際にやってみたら、「数値に返還する作業」としてはとても手軽でした。 新しい技を覚えたっていう感じです。 ありがとうございました。

関連するQ&A

  • Excel 数値を文字列にしたい

    お世話になります。 例えば、型番として  0001  0001A  0001B  0002   ・   ・ というものがあった場合、0001と0002は数値と認識されて1と2に なってしまいます。 この状態で、セルの書式設定で文字列にしたとしても、現状の1が 文字列になるだけです(要するに手遅れ)。 また、頭にシングルクォーテーションをくっつけて'0001や'0002と 入力してやればよいかと思うのですが、上記のようなケースが 数百行あった場合、ひとつずつシングルクォーテーションを くっつけていくには手間がかかります。 何かよい方法はございますでしょうか。 ご教示の程、宜しくお願い致します。

  • エクセル2002 数値00の入力方法

    セルに00と数値を入力したいのですが、00と打ちEnterを押すと0としか反映されません。セルの書式設定か何かを変更すればよいのでしょうか?教えてください。

  • エクセルにて文字列データ先頭の「'」シングルクォーテーションを非表示にする

    よろしくお願いします。 EXCEL形式にアウトプットしデータを作成しました。 そのなかに文字列と認識させたい数字フィールドがあり先頭に「'」シングルクォーテーションを付けています。 すると対象のセル上に、シングルクォーテーションが表示されておりました。 セルをアクティブにし、編集状態でEnterを押下することにより、表示になりました。 なにもせずに「シングルクォーテーション」がセルには非表示、数式バーには表示される状態にするには、どうしたらよいでしょうか。 よろしくお願いします。

  • ExcelからCSV出力して読込むと削除変換される

      Excelのブック1のシートに入力されたデータを 一度、CSVファイルに出力して このCSVファイルを別のツール(perlなど)で変換して この変換されたCSVファイルを再び 別のExcelのブック2のシートに読み込ませたいのですが Excelのブック1から出力したCSVファイルを 別のツールで変換しなくてもそのまま Excelのブック2のシートに読み込ませた時点で 文字の一部が消えたり数式が値になったりしてしまっています。 具体的には、 セルの先頭の ' (シングルクォーテーション) が消えてしまったり、 1つ足りなくなったりしています。また、 先頭の =1+1 などは、(表示上) 2になったりしてしまっています。 なお、セルの書式設定が標準だと、先頭の @ の後に続けて入力すると 正しく入力できませんが、セルの書式設定を文字列にすると、 この @ の問題は起きなくなりました。でも、セルの書式設定を文字列にしても ' (シングルクォーテーション) や数式が計算結果になる問題は 解決していません。 (問1) 削除されたり変換されてしまうのは     ・先頭の ' (シングルクォーテーション)     ・先頭の =     ・先頭の @    の3つのケースだけでしょうか。    このほかにもありましたら教えてください。 (問2) 先頭の =1+1 の場合ですが    セルの書式設定が標準の状態で =1+1 と入力すると    数式バーには =1+1 と表示されていて    セルの書式設定が標準だと2と表示されていてその後    セルの書式設定を文字列にしても2と表示されています。    逆に、    セルの書式設定が文字列の状態で =1+1 と入力すると    数式バーには =1+1 と表示されていて    セルの書式設定が文字列だと =1+1 と表示されていてその後    セルの書式設定を標準にしても =1+1 と表示されています。    いずれも入力したデータは同じなのに    入力時点での表示形式で表示内容が固定されてしまっていて    その後、表示形式を変更しても表示内容が反映されていない    ように感じるのですが何が起きているのでしょうか。 (問3) 前述の理由により、CSVファイルをセルの書式設定が文字列    の状態で読み込ませることはできるのでしょうか。    (後でセルの書式設定を文字列に変更しても =1+1 と表示されないので) (問4) Excelのブック1のシートのセルには     ユーザーが好き勝手な文字や数値や記号を入力します。     何を入力されても変化してしまわないようにすることはできるでしょうか。      ( 頭に ' を付けることをユーザーに強要するとか、       事前にセルの頭に ' を入力しておくなどはなしです) (問5) もし、できない場合、Excelのブック1のシートの各セルの先頭に     ' (シングルクォーテーション) や = から始まる数式を    入力することができないように制限をかけることはできるのでしょうか。 よろしくお願いします。(Windows7,Excel2010)

  • エクセルで数値の文字色が白から変更できません!

    エクセルでカレンダーを作成しています。 ひと月目(一月)はうまく表示されるのですが 月と月の間に数行スペースを入れているためか、 ふた月目(二月以降)が、セルに関数は正しく入っているのですが (=F36+7のような感じで) 肝心の数字がなぜか真っ白な状態で、セルの書式設定などで いくら文字色を設定し直しても真っ白なままです。 セルの塗りつぶしなども一切受け付けません。 ですがセルを複数選択すると選択した分のセルの色が変わりますので、 そこできちんと日にちの数値は正しく入力されているけれど、 背景色が白で文字色も白の状態から変更ができない、 というのだけはわかる、という感じです。 これはどこを設定すればきちんとセルの書式設定が反映されるようになるのでしょうか? 基本的な問題なのか、どうやって探せば良いのかわからず困っております。 条件付き書式をどうにかすればよいのではないか、というところまでは辿り着いたのですが それが原因だとしても特に条件付けていることもないですしそれ以降どうすれば直るのかが全くわかりません。 原因のわかる方、いらっしゃいましたらどうか手順なども詳しく教えてくださいませ。 よろしくお願いいたします。

  • 数字データを「文字列」に変更してもすぐ反映されない

    EXCEL2003>Vlookup関数で困った現象が起きました。 数字データをセルの書式設定で「文字列」に変更し、 vlookupにて参照したところ、エラーが返ってくる。 しかし、参照元データの上でF2 を押してあげると、正常に値が返る。 ひとつひとつこのF2キーを押してあげるのは大変です。 数字データを「セルの書式設定」で「文字列」データに一括変更する方法はないのでしょうか? 例 シートA   A   | B  社員番号 | 名前 1|123    | 小泉 2|456    | 森 シートB(シートAを参照し、名前 を返す)   A   | B 1|社員番号 | 名前 2|123    | #N/A シートA>A2 の上でF2を押すと、シート2>B2が正常に値を返します。

  • (エクセル)数値の値が勝手に変換されてしまう

    セル書式設定→表示形式(標準)の設定の状態で、 (例)12300 と入力し、Enterすると、1.23 と表示されてしまいます。 こうなる前に何かしたといえば、アドインにTEXTCALC関数Ver1.31を使えるように設定しました。(コピー先は\Office\Library) 困ってます・・・・何か設定があるようでしたら教えていただけないでしょうか?宜しくお願いします。

  • Excelに、ダブルクォーテーションで始まる文字列を貼り付けると、ダブルクォーテーションが消えること

    Excelで、ダブルクォーテーションで始まる文字列をセルに貼り付けたときに ダブルクォーテーションが消えるのですが、 Excelってもともと(標凖的な動作として)そういうものですか。 (F2キーを押すなりして)編集状態にして貼り付ければ、ダブルクォーテーションのついたまま貼り付くのですが、 私はセルを選択して貼り付けただけでも大丈夫だと思っていました。 「文字列を貼り付ける」というのは、例えばテキストエディタ上にあるものを手作業でコピーして貼り付ける、ということです。 「ダブルクォーテーションで始まる文字列」と言っても、 ダブルクォーテーションが3つ以上あったときに消えるのは、最初の1組(2つ)ですね。 しかし、 "AAAA"""BBBB のような場合には、なぜか AAAA"BBBB になるのです。 (ちなみに、この文字列を、質問直前の質問内容確認の画面(IE)でコピーしてExcelに貼り付けたときは、違います。) どのような規則に基づいてダブルクォーテーションが消えるのかも疑問です。 このような仕様になっている理由はなんでしょうか。 また、Excelに文字列を貼り付けるという操作を頻繁に行うため、 できれば、編集状態にしなくても、 セルを選択して貼り付けするだけで、そのままダブルクォーテーションも貼り付いてほしいのですが、 そのためにはどうすればよいのでしょうか。 「セルの書式設定」で、表示形式を文字列にすればよいと思ったのですが、だめでした。 セルには文字列を入れるだけで、数式を入れたりしません。 (数式としては扱ってほしくない、という意味です。) Excelは2000です。

  • エクセルの文字型を数値型で認識させる方法

    エクセル2000で、例えば文字列のセルに1と入力し、その後書式設定で数値型にしたときは数値型として認識されません。これを認識させる時、私はF2でセル内選択→Enterで決定→すると数値型で認識、という面倒なことを行っています。 文字列の数字をコピーし、予め数値型にしておいたセルに値だけコピー&ペーストしても、貼り付けたときには数値として認識せず、上記のように一旦選択→決定しないと新しい型で認識されません。 何千件もこれを行うのが非常に面倒なため、どなたかいい型の変換方法を教えて頂ければうれしいです。よろしくお願いします。

  • 検索文字列を ' ' で囲むのと " "で囲むのの違い

    Googleで検索するときに、次の(1)、(2)のようにすると何が検索されますか。 (1)文字列をシングルクオーテーションマークに入れて検索する。例えば、 'This is a pen.' を窓に入力して検索する。 (2)文字列をダブルクオーテーションマークに入れて検索する。例えば、 "This is a pen." を窓に入力して検索する。

専門家に質問してみよう