
他人からもらったエクセルのデータを次のようにしたいと思っています。
まず、A列には住所が入っています。
A1には ○○5条2丁目123番地××マンション1001号
A2には ●●●8条9丁目45番地コーポ△△201号
A3には ◎◎67番地3号
…
となっています。
ちなみに○○、●●●、◎◎には~町とは書かれておらず、山川、山川北、山川中央というような町名です。
これをバラバラに他の列にうつしたいのです。つまり、
B列に 町名(○○、●●●、◎◎…)
C列に 条(5,8,空欄,…)←ただし、数字のみ
D列に 丁(2,9,空欄,…)←これも、数字のみ
E列に 番地(123,45,67,…)←これも、数字のみ
f列に その他(アパート名、マンション名など)
この書き方でわかってもらえるでしょうか?
このサイトで他の方の質問も調べたのですが、応用が利かせることができなく、うまく分けることができません。
どなたかわかりやすく教えていただける方はいらっしゃいませんか?お願いします。
No.2ベストアンサー
- 回答日時:
>このような技を磨くための良い本やサイトなどがあるのでしょうか?
本はあまり買ったことがありませんが、『HELP』を読むのが一番と思っています。
よくお世話になったのが、
『エクセル技道場』、
http://www2.odn.ne.jp/excel/
『モーグ』などです。
http://www.moug.net/
メールマガジンも有効です。
『なーるほどドットコム』で検索してみて下さい。
以上、参考に書いてみました。がんばって下さい。
No.1
- 回答日時:
1行目の算式を書いてみます。
B1=LEFT(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A1)&1234567890))-1)
C1=IF(FIND("条",ASC(A1)&"条")<LEN(A1),
MID(LEFT(A1,MIN(FIND("条",ASC(A1)&"条"))-1),LEN(B1)+1,1000),"")
D1=IF(FIND("丁目",ASC(A1)&"丁目")<LEN(A1),
MID(LEFT(A1,MIN(FIND("丁目",ASC(A1)&"丁目"))-1),LEN(B1&C1)+2-(C1="")*1,1000),"")
E1=IF(FIND("番地",ASC(A1)&"番地")<LEN(A1),
MID(LEFT(A1,MIN(FIND("番地",ASC(A1)&"番地"))-1),LEN(B1&C1&D1)+4-(C1="")*1-(D1="")*2,1000),"")
F1=MID(A1,LEN(B1&C1&D1&E1)+6-(C1="")*1-(D1="")*2-(E1="")*2,1000)
長い式になったので2行で表現しています。セルに貼り付ける時は1行にして下さい。(フォントサイズ如何では画面では3~4行で見えるかもしれません)
基本的には、『数値』、『条』、『丁目』、『番地』を文字列から探しています。
みつからない場合はエラー処理で長くなるので、検索する文字をその文字の最後に付加して検索しています。
見つかった位置で本当にあったか判定しています。検索手法の『番兵』です。
見つかった位置を元に、LEFT、MID関数で該当文字列を切り取っています。
MID関数で使っている『1000』という値は、切り出す文字長を正確に求めると長くなるので、この値をセットしています。
(C1="")*1、(D1="")*2 などは、その前の条や丁目が見つからなかったときの調整です。
なお、『条』、『丁目』、『番地』が無い、○○マンション1001号 等は対応していません。
ありがとうございました。大変助かりました。と同時に申し訳ありません。こんなに手間をかけていただいて…。
というのも、こんなに複雑な数式になるとは全然思っていなかったものですから。nishi6さんには感謝感謝です。
私のような初心者にはこの関数の意味をとらえるのもままならないのですが、さらにエクセルに興味を持ちました。 もっと勉強していきたいのですが、このような技を磨くための良い本やサイトなどがあるのでしょうか?アドバイス頂けたらうれしいです。
ああ、こんなふうに、自分のやりたいことを自分の力で解決できる日はいつになることやら…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Excel(エクセル) エクセルについて教えてください。 1回目が80以上(数字) or 対象外 (文字列)or (空欄) 2 2022/10/17 11:42
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Java Java 南京錠 2 2023/02/04 11:46
- Excel(エクセル) 範囲指定をした中で、住所の列をユーザー設定の並べ替えをしたい 3 2022/05/15 13:51
- Excel(エクセル) 【画像あり】A1が●+B1と同じ文字がB列にある+C1と同じ文字がC列にある場合D1に〇を付ける 3 2023/03/09 18:18
- Ruby 初心者プログラミング 3 2022/10/12 11:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
EXCELで 一桁の数値を二桁に
-
エクセルで文字が混じった数字...
-
Excel 文字列を結合するときに...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
エクセルの並び変えで、空白セ...
-
エクセルで最初のスペースまで...
-
Excelで半角の文字を含むセルを...
-
「B列が日曜の場合」C列に/...
-
エクセルで、列の空欄に隣の列...
-
VBAで文字列を数値に変換したい
-
Excel、市から登録している住所...
-
エクセル 文字数 多い順 並...
-
エクセルの項目軸を左寄せにしたい
-
エクセル 同じ値を探して隣の...
-
エクセルで一列おきに空白列を...
-
エクセルのセル内の文字の一部...
-
VBA 連続行データを5行ずつ隣の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
EXCELで 一桁の数値を二桁に
-
Excelで半角の文字を含むセルを...
-
2つのエクセルのデータを同じよ...
-
エクセル 文字数 多い順 並...
-
エクセルで文字が混じった数字...
-
エクセルで最初のスペースまで...
-
「B列が日曜の場合」C列に/...
-
エクセル(勝手に太字になる)
-
エクセルの項目軸を左寄せにしたい
-
Excel 文字列を結合するときに...
-
エクセルのセル内の文字の一部...
-
【VBA】特定列に文字が入ってい...
-
Excel、市から登録している住所...
-
文字列に数字を含むセルを調べたい
-
エクセルの表から正の数、負の...
-
VBAで文字列を数値に変換したい
-
エクセルで、列の空欄に隣の列...
-
オートフィルターをかけ、#N/A...
おすすめ情報