2016-05-22 2 views
2

私はどのように私は、テキストと力を取り除くことができExcelで「3日間」を「3」に変換するにはどうすればよいですか?

など、

3 days6 daysのような値で満たされた1つの列を持っているが整数にこれらを変換しますか?その後、「インプレース」

+0

入力した値が3と12に変換されると、単位(日、時間)は不明のままになります。どのように処理されますか(それとも重要ではありませんか?)。これらの質問やその他の質問に答えるには、2つ以上の例を使用して、データの前後に完全な情報を提供することをお勧めします。 – Smandoli

+0

関数を使用しますか?そして、それが数時間または数日後に剥ぎ取ったかどうかをどうやって調べるでしょうか? – smozgur

+0

申し訳ありませんが、私は1つの列に、私は日々と他の時間に値を持っているはずです。列を数値形式に変換しようとしましたが、それは何もしませんでした。 – Abram

答えて

2

あなたがそれらを変換したい場合は、セルを選択して、この小さなマクロを実行します。

Sub fixData() 
    Dim r As Range, v As String, i As Long 

    For Each r In Intersect(Selection, ActiveSheet.UsedRange) 
     v = r.Text 
     i = InStr(1, v, " ") 
     If i <> 0 Then 
      r.Value = Mid(v, 1, i - 1) 
     End If 
    Next r 
End Sub 
1

あなたはあなたの隣にデータを列に代替を試みることができる:

=substitute(A1," days","") +0 

Substituteは文字列部分 "data"をnothing(zls "")に置き換え、ゼロを追加すると数値が返されます。あなたのデータがcol Aであると仮定します。

データを変更しても構わない場合は、すべてを選択することもできます。ctrl + F find find and replaceの検索フィールドを "days"空白で置き換えて置き換え、「すべて置き換える」をクリックします。

1

VBAの場合、実際にはVal関数を使用してこれを行うことができます。 ような何かA1にデータがあると、あなたはそうA2

で、この整数値が必要な場合:返された値が実際にダブルで

Range("A2").value = Val(Range("A1").value) 

を。ダブルが十分でない場合は、

Range("A2").value = CInt(Val(Range("A1").value)) 

希望するものがあります。

関連する問題