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

エクセルの検索置換についての質問です。

A1セルに以下のような文字列があります。

A1セル:あああ、いいい、ううう、えええ

これを

A1セル:あああ
A2セル:いいい
A3セル:ううう
A4セル:えええ

のように、セル内の文字列を複数のセルに分割したいのですが、このような処理はexcelで可能なのでしょうか?

「、」を改行に置換して、改行に置換すればいいのかな?と思いましたが、やり方がよくわかりませんでした。

検索置換、または数式を用いる方法どちらでも構いませんので、何かいい方法がありませんでしょうか?

●質問者: torii_koichi
●カテゴリ:コンピュータ
✍キーワード:A1 A3 Excel エクセル セル
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● hive7134
●30ポイント

A1セルを選択した状態で、

  1. [データ]メニュー→[区切り位置]で区切り位置指定ウィザードを立ち上げる
  2. ウィザードで「カンマやタブなどの?」にチェックをつけ[次へ]ボタン
  3. [その他]にチェックを入れ、右隣のテキストボックスへ「、」を入力し[完了]ボタンを押す

これでA1の中身がA1?D1 に分かれます。



縦に分割したい場合は、「行列を入れ替えて貼り付け」を利用します。

  1. A1?D1の4セルを選択し、右クリック→[コピー]
  2. 適当なセルで右クリック→[形式を選択して貼り付け]
  3. [行列を入れ替える]にチェックを入れて[OK]を押す

以上です。ちょっと回りくどいかな…^^;;;

◎質問者からの返答

区切り位置指定ウィザードという方法があるとは知りませんでした。

ご指摘の通り、「回りくどい」かもしれませんが、確実な方法かもしれませんね。

回答ありがとうございました!


2 ● ardarim
●30ポイント

置換ではできないと思いますが、数式なら例えばこういう風にできます。


A B
1 あああ、いいい、ううう、えええ
2 =IF(ISERROR(FIND("、",A1)),A1,LEFT(A1,FIND("、",A1)-1)) =IF(A1=A2,"",RIGHT(A1,LEN(A1)-LEN(A2)-1))
3 =IF(ISERROR(FIND("、",B2)),B2,LEFT(B2,FIND("、",B2)-1)) =IF(B2=A3,"",RIGHT(B2,LEN(B2)-LEN(A3)-1))
4 =IF(ISERROR(FIND("、",B3)),B3,LEFT(B3,FIND("、",B3)-1)) =IF(B3=A4,"",RIGHT(B3,LEN(B3)-LEN(A4)-1))
5

行3の数式を、行4、行5、…とコピーすることで「、」の数がいくつでも対応できます。


この例では列Bを中間結果を入れるのに使っていますが、中間結果を使わず、列Aだけで済ますこともできます。ただし数式がもっと複雑で分かりにくくなります。

列Bは非表示にするなどすれば画面上は見えなくなるのですっきりします。

◎質問者からの返答

教えていただいた数式をコピペして使って見ました。

式のコピペで他のセルにも代用できそうですね。

回答ありがとうございました!


3 ● banboo
●30ポイント

マクロ使わずセルだけで方法を考えてみました(コマンド一発は思いつきませんでした)。

A1セル あああ、いいい、ううう、えええ ・・・処理対象文字

A2セル 、 ・・・ 区切り(デリミタ)文字指定

A3セル 0 ・・・ 検索開始位置の初期値(ゼロ)

A4セル =IF(ISERROR(FIND($A$2,$A$1,A3+1)),LEN($A$1)+1,FIND($A$2,$A$1,A3+1))

B4セル =IF(A3=A4,"",MID($A$1,A3+1,A4-A3-1))

ここまで入力したら、A4-B4セルを選択してオートフィルで適当な数まで分割文字を表示するセルを増やしてください。

その後分解した文字列(B4セルから下)をコピーし、そのまま値貼り付けすると、数式ではなく文字になります。

賢い関数があるかもしれませんが、処理対象やデリミタの文字が任意でもできることを考えると、こんなものになってしまいました。ちょと恥ずかしい方法かも。

◎質問者からの返答

「コマンド一発」とかはやはりムリそうですね。

回答ありがとうございました!


4 ● きゃづみぃ
●0ポイント

http://office-ho.com/requestmail/2006/01/post_20.html

データ→区切り位置で、区切ることができます。

区切り文字を「、」で指定してあげたらいいでしょう。

◎質問者からの返答

回答者の一番の方と同じ回答ですね。

関連質問


●質問をもっと探す●



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