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

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

<状況>

042-1111-1111
04211111111

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

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

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

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

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

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

●質問者: hiyarihatto
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:エクセル コピー データ マクロ 数字
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● akibare
●41ポイント ベストアンサー

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

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

◎質問者からの返答

解決しました。

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

助かりました。

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


2 ● KirakiraHikaru
●29ポイント

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

関数の内容は、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も同様)

関連質問


●質問をもっと探す●



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