人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

EXCEL2000で同じセル内にあるスペースの場所をを特定し、それを区切りとして列に振り分けたいのですが、1個目はFINDとLEFT関数で取得できましたが、2個目のスペースの場所の取得(特に開始位置の表現)の仕方がわかりません。

A5セルの値→「3/11(火)(予約制) はてな太郎 横浜市栄区」
1個目のスペースをまでの文字列を取得する式→=LEFT(A5,SEARCH(" ",A5,1)-1)=「3/11(火)(予約制)」
2個目のスペースをまでの文字列を取得する式→=LEFT(A5,A5の結果+1から?)=「はてな太郎」を取得したい

というパターンなのですが、どうやったら良いのでしょうか。
よろしくおねがいします。

●質問者: naoki_tarmac
●カテゴリ:コンピュータ
✍キーワード:はてな セル パターン 文字列 栄区
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● agharta71
●10ポイント

簡単にやるのなら関数を使わずに

セルの内容を秀丸などのエディタにコピーし、スペースをタブ文字に一括置換、その後エディタの内容をエクセルに貼り付ければお望みの形式になると思います。

http://q.hatena.ne.jp/1205287459

◎質問者からの返答

ありがとうございます。

普段ならテキストエディタで置換するのですが、

これをマクロの中でやろうとしているので、

関数じゃないとダメなんです。


2 ● beatgoeson
●43ポイント ベストアンサー

もっと簡単にできそうですが、一つ目の空白の位置と二つ目の空白の位置を求めて、MID関数で切り出せば可能です。


=MID(A5,SEARCH(" ",A5,1)+1,SEARCH(" ",A5,SEARCH(" ",A5,1)+1)-SEARCH(" ",A5,1)-1)

◎質問者からの返答

できました!ありがとうございます。

「SEARCHのSEARCHのSEARCHの・・・」と考えていたら、頭がごちゃごちゃになってきまして。

もう1個辛抱が足らなかったようです。


3 ● haruo-31
●33ポイント

LEFT以外にも、MID、RIGHT関数があります。

A1セルの値→「3/11(火)(予約制) はてな太郎 横浜市栄区」

1個目のスペースをまでの文字列を取得する式→=LEFT(A1,SEARCH(" ",A1,1)-1)=「3/11(火)(予約制)」

2個目のスペースをまでの文字列を取得する式→=MID(A1,LEN(B1)+2,SEARCH(" ",A1,LEN(B1)+2)-LEN(B1)-2) =「はてな太郎」を取得したい

最後の文字列を取得する式 ⇒ =RIGHT(A1,LEN(A1)-LEN(B1 & " " & C1)-1) = 横浜市栄区

でも私なら、メニューの「データ」⇒「区切り位置」を使ってセルを分割します。

詳しくはヘルプを。

◎質問者からの返答

実はこのデータ、行によっては続きがあり、そこにスペースが入ってくる可能性がありました。

なので「左から1個目、2個目のスペース」で取得したかったのです。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ