web-dev-qa-db-ja.com

Excel:「文字列」を「数値」に変換する方法は?

次の形式で一連の文字列を返すSQLデータベースからのクエリを持つユーザーがいます。

000123123.23000
000123123.23000
000123123.23000
000123123.23000
000123123.23000

これらは実際には数値ですが、合計することはできません。これを修正する正しい方法は、SQLクエリでデータをキャストすることですが、Excelクエリビューアでは表示できません。私は回避策として

 = <CELL> +1 -1.

よりエレガントな解決策はありますか?

17
SirStan

価値関数はあなたに役立つと思います

 = VALUE(< CELL >)

PD:

スペイン語では、関数VALORを使用します。

 = VALOR(< CELL >)

英語でも同じだと思う

私はこの小さなマクロを使用します

Sub txttonum()
    For Each tcell In Selection.Cells
        If TypeName(tcell.Value) = "String" Then
            tcell.Value = Val(tcell.Value)
        End If
    Next
End Sub

文字列の場合、ハイライトされたすべてのセルを数値に変換します

1
Col

ロケール設定によっては、VALUE()がエラーを返す場合があります。

その場合は、おそらく NUMBERVALUE() が役立ちます。

VALUEとNUMBERVALUEの比較

小数点記号がコンマであるロケールの場合:

=VALUE("5,00") // Returns integer 5
=VALUE("5.00") // Throw an error

=NUMBERVALUE("5,00";",") // Returns integer 5
=NUMBERVALUE("5.00";".") // Returns integer 5
0
Iksen

同じ問題がありましたが、VALUE関数がtsvファイルで機能しませんでした。しかし、小さなトリックでうまくいきました。

  1. テキスト形式の数値を含む列を選択します

  2. Ctrl+F -> .,に置き換えます

(通常、私はそのような解決策を嫌いますが、言ったように、私はそれを解決する「通常の」方法がうまくいかなかったので、ここに投稿します。)

0
Karl