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


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

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

回答の条件
  • 1人1回まで
  • 登録:2008/03/12 11:04:21
  • 終了:2008/03/12 11:32:40

ベストアンサー

id:beatgoeson No.2

beatgoeson回答回数128ベストアンサー獲得回数142008/03/12 11:18:43

ポイント43pt

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


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

id:naoki_tarmac

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

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

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

2008/03/12 11:30:10

その他の回答(2件)

id:agharta71 No.1

agharta71回答回数15ベストアンサー獲得回数12008/03/12 11:13:34

ポイント10pt

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

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

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

id:naoki_tarmac

ありがとうございます。

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

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

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

2008/03/12 11:26:38
id:beatgoeson No.2

beatgoeson回答回数128ベストアンサー獲得回数142008/03/12 11:18:43ここでベストアンサー

ポイント43pt

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


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

id:naoki_tarmac

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

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

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

2008/03/12 11:30:10
id:haruo-31 No.3

haruo-31回答回数80ベストアンサー獲得回数102008/03/12 11:22:27

ポイント33pt

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) = 横浜市栄区

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

詳しくはヘルプを。

id:naoki_tarmac

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

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

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

2008/03/12 11:31:17
  • id:beatgoeson
    もしくは、以下の方法で変換することも可能です。ご参考までに。

    データの入ってる列を選択して、メニューバーの[データ]→[区切り位置]から
    (1)「元のデータ形式」から「カンマやタブなどの区切り文字によってフィールドに区切られたデータ」を選択し、[次へ]
    (2)「区切り文字」から「スペース」をチェックして、[次へ]で次の画面で[完了]

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません