エクセルの関数、またはマクロで困っています。


<状況>

042-1111-1111
04211111111

という風に、ハイフンがあるデータと、ハイフンがないデータが混在しています。

このデータが、エクセルのA列にあるのですが、

このデータを、B列 042 C列1111 D列1111 というふうに3つに分けたいのです。

① A列のデータからハイフンを除去
② A列のデータを、B列には先頭から3つの数字をコピー。C列には、先頭から4番目から7番目の数字をコピー。D列には8番目以降をコピー

という順番で処理でしょうか?
関数もマクロも全くの素人です。

データでいただけましたら、最高です。
なんとかよろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:2006/10/18 13:42:09
  • 終了:2006/10/19 08:47:26

ベストアンサー

id:akibare No.1

akibare回答回数157ベストアンサー獲得回数52006/10/18 13:54:21

ポイント41pt

規則性が厳密であれば(つまり、ハイフンがある場合は全位置にある)次の式でいけます。

B列:=LEFT(A1,3)

C列:=IF(ISERROR(FIND("-",A1)),MID(A1,4,4),MID(A1,5,4))

D列:=RIGHT(A1,4)

http://akibare3.net/hatena1161146528.xls

id:hiyarihatto

解決しました。

データもあげていただき、

助かりました。

ありがとうございますm(_ _)m

2006/10/19 08:47:01

その他の回答(1件)

id:akibare No.1

akibare回答回数157ベストアンサー獲得回数52006/10/18 13:54:21ここでベストアンサー

ポイント41pt

規則性が厳密であれば(つまり、ハイフンがある場合は全位置にある)次の式でいけます。

B列:=LEFT(A1,3)

C列:=IF(ISERROR(FIND("-",A1)),MID(A1,4,4),MID(A1,5,4))

D列:=RIGHT(A1,4)

http://akibare3.net/hatena1161146528.xls

id:hiyarihatto

解決しました。

データもあげていただき、

助かりました。

ありがとうございますm(_ _)m

2006/10/19 08:47:01
id:KirakiraHikaru No.2

KirakiraHikaru回答回数354ベストアンサー獲得回数682006/10/18 13:56:28

ポイント29pt

関数でやるなら下記の書式でできます。

関数の内容は、hiyarihattoさんの処理と同じです。

ハイフンを除去した文字列から抜き出しています。

B列

=MID(SUBSTITUTE(A1,"-",""), 1, 3)

C列

=MID(SUBSTITUTE(A1,"-",""), 4, 4)

D列

=MID(SUBSTITUTE(A1,"-",""), 8, 4)

それぞれの書式をB1,C1,D1に設定。

B1をコピーしてB列を選択した状態で貼り付けるとB列すべてに同じ数式を適用できます。

(C、Dも同様)

コメントはまだありません

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

トラックバック

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

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

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