• 締切済み

エクセル 関数

エクセルの関数について質問です。 下記のような表があります。 (1)、(2)、(3)はそれぞれ一つのセルに郵便番号、住所がまとめて入力 されています。これを郵便番号、住所を別々のセルに表示させる方法を ご教示頂きたく思います。  A1 (1)100-0001千代田区日本橋1-1-1    A2 (2)100-0002千代田区日本橋1-1-2    A3  (3)100-0003千代田区日本橋1-1-3 substitute,if,mid,あたりかと推測するのですが、郵便番号をどうやって置き換えることができるのかご教示頂けると嬉しいです。よろしくお願い致します。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

一番手軽なのは、データー区切り位置 その次に関数MIDの文字列の切り出し。 参考にVBAでユーザー関数を作ると 標準モジュールに Function suu(a) For i = 1 To Len(a) If Mid(a, i, 1) <> "-" And IsNumeric(Mid(a, i, 1)) = False Then suu = i - 1 Exit Function End If Next i suu = Len(a) End Function これは質問の例ではなく、先頭から続く数字桁数がバラバラの時には 役立つ。 使い方は関数と同じく、 =suu(A1) と入れる。式の複写も出来る。

noname#204879
noname#204879
回答No.3

B1: =MID(A1,1,8) C1: =MID(A1,9,1000)

回答No.2

Excel2003の場合で回答しますね 全てのデータが同じ状態で入っているのでしょうか? 分離させたいセルを選択します。 A1~A3とか、A列全部とかです。 ・ツールバーの[データ]→[区切り位置]と進みます。 ・スペースによって右または左に揃えられた固定長フィールドのデータ にチェックを入れる。 ・[次へ]をクリック ・郵便番号の終わりの所をクリック ※矢印付の縦線で区切られると思います。 ・[次へ]をクリック ・郵便番号部分のG/標準を文字列に変更する。 ※G/標準だと頭が0の場合消えてしまう。 ・[完了]をクリック う~ん・・・言葉での表現が難しい・・・ 理解していただけましたかな?

igu0625
質問者

お礼

大変わかりやすい回答ありがとうございました。 理解できました。こういう方法があるということ、勉強になりました。 締め切ったあとにこの回答を見たために付与ができずすみませんでした。。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

あまり賢いやり方とはいえないかもしれませんが・・・ B1に郵便番号、C1に住所を表示させるとして B1=LEFT(A1,8) C1=SUBSTITUTE(A1,LEFT(A1,8),"") ではどうでしょうか? 郵便番号がハイフンを含んで8文字だっていうことを利用してやってみました。 (C1については郵便番号を空白に置き換えただけなんですけど・・・)

関連するQ&A