web-dev-qa-db-ja.com

テキストを数字に変換する方法は?

テキストの複数の列とテキストとして保存されている数値の複数の列を含むExcelレポートがあります。

テキストとして保存されている数値を実際のテキストデータに影響を与えずに数値に変換する簡単な方法はありますか?

21
sds

「テキストとして保存されている数値」を数値に変換する最も簡単で迅速な方法は次のとおりです。

  1. 空白のセルを選択します
  2. そのセルをコピー(Ctrl + C)
  3. 変換するデータを含む範囲を選択します(範囲に非数値データも含まれている場合は問題ありません)
  4. 「追加」操作で「特殊貼り付け」を使用します(「減算」も機能すると思います)

迅速であることに加えて、これにはインプレース変換の利点があります。

「特殊貼り付け」は、Excelの「クラシック」バージョン(2003以前)の「編集」メニュー、またはExcelの「リボン」バージョン(2007以降)の「ホーム」タブの「クリップボード」セクションにあります。

32
John Y

そのテキストを別のセルの数値としてだけ使用する場合は、 VALUE 関数を使用します。

11
Daniel DiPaolo

別の回避策は、ゼロを追加して型変換を強制することです:セルA1に '5'が含まれているが、ISNUMBER(A1)がFALSEを返す場合、ISNUMBER(A1 + 0)はA1が数字に変換できる場合にTRUEを返します。

3
Jeff

他の答えは私を助けませんでしたが、少なくともExcel 2010では(他のバージョンでも似ていると思います)、影響を受けたセルの左上にある小さな緑色の三角形を使用できることがわかりましたそれらを選択しました。

ただし、複数のセルを使用するには、緑色の三角形を含むセルで選択を開始する必要がありますということです。最後のセルはどのセルでもかまいません(最後のセルは何でも構いません)。緑以外の​​セルから開始すると、黄色の感嘆符は表示されません。

すべてのセルがFormat>Cellを介してテキストに変換される空のワークシートに簡単なテーブルを作成しました。次に、以下の値を入力しました(図では、緑色の三角形を含む行を^でマークしました)。

  |  A  |  B  |
--------------
1 | abc |     |
2^| 1   |     |
3^| 2   |     |
4^| 3   |     |
5^| 4   |     |
6^| 5,6 |     |
7 | 7.8 |     |
8^| 9   |     |
9 | xyz |     |
--------------

ここで、A2またはA8で選択を開始し、選択を機能させるために他のセルに選択をドラッグする必要があります。 A9またはA1からは機能しません。間に開始することはできますが、この方法では一度にすべてのセルを選択することはできません。

また、セルの認識はロケールによって異なる場合があります。コンマの代わりにポイントを使用する国では、結果が異なる場合があります(セルA6とA7)。

0
user121391

ここに私がいる状況で見つけた解決策があります。

システムからエクスポートされた約7000行のデータをコピーして貼り付ける必要があるレポートを毎週実行します。最近、数字がテキストとして保存されるように、いくつかの変更が行われました。データには、実際のテキストエントリの選択とテキストとして保存された残りの番号が含まれます。このデータはコピーされてマスターテンプレートに貼り付けられ、他のシート/レポートにフィードされますが、数値を数値として保存する必要がありました。データの量と、このタスクを実行するのは私だけではない(そして他の一部はExcelに精通していない)という事実のため、このプロセスを自動化する必要がありました。 = A1 * 1の数式を試してみたところ、数字は機能しましたが、テキストは#VALUEになりました!エラー。いじくり回した後、私は以下の式を思いついたが、それは完全に機能する!

= IF(AND(A1 = "はい")、 "はい"、IF(AND(A1 = "適用できない")、 "適用できない"、IF(AND(A1 = "いいえ")、 "いいえ"、A1 * 1)))

0
KathyM

数値がWebページからコピーされたテキストである場合、これらのソリューションをアルファと数値の混合列で適切に動作させることはできません。 About.comの寄稿者(D. Mabutt)がこのVBAコードを投稿しました

    Sub Enter_Values()
   For Each xCell In Selection
    xCell.Value = CDec(xCell.Value)
 Next xCell 
 End Sub

このコードはアルファセルでエラーをスローするため、これを追加する必要があります。

Sub Enter_Values()
For Each xCell In Selection
If IsNumeric(xCell) = True Then
    xCell.Value = CDec(xCell.Value)
    Else
     End If
 Next xCell
End Sub
0
user3418162

個人的には、数個の数字しかない場合は、各セルでF2を押してEnterを変更せずに押します。これにより、Excelはセルを編集して数値に変換したと見なします。

0
Rob Sedgwick

私はあなたのジレンマを理解しているとは思いませんが、あなたの直接の質問には少なくとも2つの解決策があります。

  1. 数値にする必要があるセルを、テキストではなく「数値」としてフォーマットします。必要なセルを強調表示できます->右クリック->数値として書式設定。そこから小数の数と特定のフォーマットを設定できます。

  2. Text/number列に1を掛けた新しい列を作成し、この新しい列の数値として形式を設定します。

0
Chase