2012-01-17 15 views
1

を解析し、私は、セルA1に次のように置かれていますExcelは、セルの値

"a lot of text marker: xxx some more text"

私はセルA2xxx値をコピーしたいと思います。

どのようにこれを行うことができますか?

おかげ

+0

あなたは「抽出物」とはどういう意味ですか?固定テキスト(xxx)を何も "置き換え"したいですか?xxxが見つかったセル文字列を知りたいですか?それは "xxx"か単語マーカの後の何かに基づいていますか?前と後を見せてください。 –

+0

A2の値を私のマーカー値 – thedev

答えて

2
=MID(A1, FIND("marker:",A1) + LEN("marker:"), 4) 

私は(あなたの例あたり)xxxは3文字の長さで、スペースは「マーカー:」との間に存在すると仮定していますし、「XXX」。

+0

で更新するだけで、A1の値を変更する必要はありません。 1つの小さなタイプミス、 '、'を ';'に置き換える必要があります。 – thedev

+0

@thedev:使用するかどうか。現在のロケールによって異なります。米国以外のバージョンのExcelがインストールされているようです。 – shahkalpesh

1

ちょうど私の2セントです。 A1内のテキストが

であるかのように、()検索すると、「テキストマーカーの多く:いくつかのより多くのテキストXXX」は大文字と小文字が区別され

次にあなたにエラーを与える下さい。

あなたはFINDの代わりに()

= MID(A1、SEARCH( "マーカー:"、A1)+ LEN( "マーカー:")、3)で検索を()を使用することができます。また

あなたの地域の設定に応じて、 ";"代わりに、あなたはVBAソリューションを望んでいた場合、これはあなたのサンプル入力を使用して私のために働いた

0

「」の:(配置支援のためのWhere do I paste the code that I want to use in my workbookを参照)

Function GetValue(rng As Excel.Range) As String 
    Dim tempValue As String 
    Dim arrValues() As String 
    ' get value from source range 
    tempValue = rng.value 
    ' split by ":" character 
    arrValues = Split(tempValue, ":") 
    ' split by spaces and take the second array element 
    ' because there is a space between ":" and "xxx" 
    GetXXXValue = Trim$(Split(arrValues(1), " ")(1)) 
End Function 

使用するには、シートモジュールにこのコードを入れて、その後、セルA2に次のように置く:

=GetValue(A1)

関連する問題