質問: 質問です エクセルで文字列に番地が全角で含まれています 数字の若い順にならべたいのですが関数かマクロを教えてください。 例 あああああ1丁目1 あああああ1丁目10 あああああ1丁目11 あああああ1丁目2 あああああ1丁目3 あああああ1丁目4 答 あああああ1丁目1 あああああ1丁目2 あああああ1丁目3 あああああ1丁目4 あああああ1丁目10 あああああ1丁目11 のようになるようにお願いします
回答: 住所部分「あああああ」が全て同じなら B1 =MID(A1,6,999) これを下にコピーして その後、B列をコピーして、値で貼り付け B列で並び替えする。 ただし「1丁目1番地」が「1-1」とか「1丁目1」とか統一された表記でないと並び替えは思ったとおりになりません。 それと、1丁目10が1丁目2より前にきますが、この方法では実際のデータを見ないと、どのような解決方法があるか詳細はわかりません。 なので、番地表記がバラバラ又は住所がバラバラで番地だけ並び替えたい場合 あああああ1丁目2 あああああ1-20 あああああ1-1 いいいい1丁目1 を参考に郵便番号変換ウィザードで住所から郵便番号で「バーコードデータ」をB列に変換します。 これで、B列に郵便番号7桁(例100-0001)と番地が8桁以降が「10000011-1」のように変換されます。 C列に =MID(B1,8,99) これを下にコピー そして、上記と同様にコピーして値の貼り付け C列で並び替えします。 ただし、1-1,1-10,1-2,1-3のように並び替えになるので、既に回答のある区切り文字で「-」を指定して、複数列に分割して複数列で並び替える必要があるでしょう。 A1=東京都千代田区千代田1丁目2-3 を郵便番号変換で B1=10000011-2-3 B1=10000011-2-3 をMID関数で C1=1-2-3 C1=1-2-3 区切り位置で C1=1 D1=2 E1=3 になるので 複数列(E,D,C)で並び替えします。 の複数条件の方法です。 全角のままの並び替えでないですが、上記の方法で可能なはずです。