- みんなの回答 (11)
- 専門家の回答
質問者が選んだベストアンサー
こんな方法も…… C1に↓の式を入れ、C1:E2にコピー =TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",100)),100*COLUMN(A1)-99,100)) ただし、文字列が何十文字もあるような場合は上手くいかない可能性あり。
その他の回答 (10)
- HohoPapa
- ベストアンサー率65% (455/693)
項目は必ず3つあり、項目区切りは全角スペース 出来合いの関数の組み合わせで実現したい。 ということよければ、 C1=LEFT(A1,FIND(" ",A1,1)-1) D1=MID(A1,FIND(" ",A1,1)+1,FIND(" ",A1,FIND(" ",A1,1)+1)-FIND(" ",A1,1)-1) E1=RIGHT(A1,(LEN(A1)-FIND(" ",A1,FIND(" ",A1,1)+1))) とし、必要数下方向に複写するというのはいかがでしょうか。
- imogasi
- ベストアンサー率27% (4737/17069)
#5です。 私の回答は、一応、「関数による処理」ともいえると思うが。 ぴったりの、エクセル既定の関数は無いので、関数を組み合わせてやることになるが、却って、思い付きが要り、複雑になると思ったので、紹介したのだ。 仕事でエクセルを使うなら、VBAを勉強しないと、どうにもならんと思うよ。
お礼
関数でどうにかなりました。
- SI299792
- ベストアンサー率47% (774/1620)
すみません。よく見ると空白は全角ですね。全角に直しました。 C1 =LEFT(A1,FIND(" ",A1)-1) D1 =MID(A1,FIND(" ",A1)+1,FIND(" ",A1,FIND(" ",A1)+1)-FIND(" ",A1)) E1 =MID(A1,FIND(" ",A1,FIND(" ",A1)+1)+1,100)
- SI299792
- ベストアンサー率47% (774/1620)
C列、D列、E列別々の数式です。 C1 =LEFT(A1,FIND(" ",A1)-1) D1 =MID(A1,FIND(" ",A1)+1,FIND(" ",A1,FIND(" ",A1)+1)-FIND(" ",A1)) E1 =MID(A1,FIND(" ",A1,FIND(" ",A1)+1)+1,100)
- msMike
- ベストアンサー率20% (364/1804)
- imogasi
- ベストアンサー率27% (4737/17069)
「区切り位置」の操作と同じことを、VBAでやると、私製関数を作って 標準モジュールに Function spt(a As Range, n) 'MsgBox a.Value 'MsgBox n splt = Split(a.Value, " ") spt = splt(n - 1) End Function 肝は、Split関数という関数がVBAにあることです。 ーー エクセルシートの どこでもよいが A12に 豚バラ肉 138円 A店 と(半角スペースで区切られた)文字列があるとして、 A13に 式 =spt($A$12,COLUMN()) と入れてB13、C13に式を複写すると A13:C13は 豚バラ肉 138円 A店 となります。
補足
できれば関数を使用して処理したいと考えております。
- watabe007
- ベストアンサー率62% (476/760)
データが有るA1とA2を選択⇒ [データ]タブ⇒[区切り位置] [カンマやタブなどの・・・・] チェック ⇒[次へ] [スペース]をチェック ⇒[次へ]⇒ [表示先] にC1と入力⇒[完了]
補足
できれば関数を使用して処理したいと考えております。
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
私は、こういうケースでは安直に次の関数を使っています。 Option Compare Database Public Function CutStr(ByVal Text As String, _ ByVal Separator As String, _ ByVal N As Integer) As String Dim strDatas() As String strDatas = Split("" & Separator & Text, Separator, , 0) CutStr = strDatas(N * Abs(N <= UBound(strDatas))) End Function
補足
できれば関数を使用して処理したいと考えております。
- HohoPapa
- ベストアンサー率65% (455/693)
追記します。 A列を残し、C,D,E..と分割したい場合は A列をC列に複写し C列を分割してください。
補足
できれば関数を使用して処理したいと考えております。
- HohoPapa
- ベストアンサー率65% (455/693)
エクセルの話でよければ、... 分割元のセルたちを選択し、 データタブ、区切り位置を選び、 区切り文字にスペースを選択することで 分割できます。
お礼
ありがとう御座いました。