
EXCEL2002で住所録を作っています。1冊2~3、000名のものが5~6冊の規模です。データの更新がしばしばあります。番地が23番地の12の203などとなりますが、これを3つのセルに分けて入力してあります。番地1が23、番地2が12、番地3が203です。データの中には番地2と番地3がない(空白)もの、または番地3のみない(空白)ものがあります。
番地順に並べ替えを実施(優先度:番地1→番地2→番地3)すると、空白のあるデータが下段になります。たとえば「10番地」より「10番地の5」、「10番地の3」の方が上段になります。これに対して空白のあるデータ(「10番地」)の方を上段に持ってきたいと思います。添付画像で左表を右表のように表示したい。
並び替えの序列では空白(またはスペース)は数字の後となっていますから、一旦はやむ終えないとはおもいますが、なんとか解決策はないでしょうか?
マクロ(?)などが必要な感じがしますが、マクロを自分では作ったことがない初心者です。よろしくお願いします。

No.3ベストアンサー
- 回答日時:
住所列として
G2:
=C2&TEXT(D2,"00")&TEXT(E2,"-0;;;")&TEXT(F2,"-0;;;")
のように数式を追加して下向けにコピー,この列の昇順で全体を並べ替えてみます。
実際にあるデータに応じて,少し数式をチューニングした方がベターと思います。
うまくいきました。
”住所列”として町名から番地3までをつなげた文字列(松井23-12-101)を作るわけですね。
文字列にすると、並べ替えの序列は空白の方が文字より上位に来るということですか。
じつはこのデータからWORDへの差し込み印刷をしています。
その時この文字列をそのまま使うことができます。
ありがとうございました。
No.5
- 回答日時:
例えばD列に番地1が、Eセルに番地2が、F列に番地3があるとしたら作業列としてG2セルには次の式を入力して下方にオートフィルドラッグします。
その上でG列を選択して昇順で並べ替えをすればよいでしょう。=IF(D1="","",D1+E1/MAX(E:E)/1000+F1/MAX(F:F)/1000000)
希望通りの並べ替えができました。
1行目がタイトルだったので、はじめは与えられた式をそのままコピーして
エラーがでました。D1をD2などと修正してうまくいきました。
番地2と番地3を”小数点化”して、番地1のあとにくっつけるというもの
のようですが、関数式の内容はまだ十分理解できていません。
ありがとうございました。
みなさん、色々な回答をすばやくお寄せいただきビックリしています。
それぞれなるほどと大変参考になりました。
どうもありがとうございました。
No.4
- 回答日時:
添付画像のレイアウトなら、例えば補助列のG列(G2セル)に以下の式を入力し、下方向にオートフィルし、この列を基準に昇順に並べ替えてみてください。
=TEXT(D2,"000")&TEXT(E2,"000")&TEXT(F2,"000")
うまく並べ替えができました。
番地1から番地3のそれぞれを3文字のテキストに変換し、
それらをつなげて9文字とするわけですね。
並べ替え実施の時、「・・・ テキスト形式の数値が含まれて・・・」云々
のダイアログが出て、少しとまどいますが、結果はOKでした。
アドバイスしていただいたこの考え方はいろいろ応用できそうです。
どうもありがとうございました。
No.2
- 回答日時:
NO.1の方と同様の考え方ということですが、いろいろな方法があるのですね。
勉強になります。ご紹介くださり、どうもありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【ExcelVBA】Powerクエリーでいうピボット解除と同じ処理をVBAで 4 2022/07/06 17:09
- Visual Basic(VBA) セルに抜けた番号の代わりに空白を挿入する 4 2023/04/10 20:29
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) エクセルの表でダブりを解消する方法を、教えてください。 5 2023/04/12 12:11
- その他(コンピューター・テクノロジー) デジタル化推進でうちの会社では、ペーパーレス化が進んでいます。 そこで、質問です。 会社では、検査課 3 2023/06/11 00:17
- Excel(エクセル) EXCELでの複雑な複数条件について 4 2022/05/09 16:19
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの入力規則で2列表示したい
-
複数の文字列のいずれかが含ま...
-
Excel上でのデータ数字が連番で...
-
SUMに含まれる範囲から特定のセ...
-
Excelでの検索結果を含む行だけ...
-
エクセルで曜日に応じた文字を...
-
セルをダブルクリックで、画像...
-
入退社日より各月末の在籍者数...
-
Excelのセル内文字の並び替えに...
-
列の数字に100をかけたい
-
別のセルに値が入力されたら、...
-
エクセルにデータを入力すると...
-
「エクセル」特定の行(セル)...
-
数式が入ったセルを含めて、数...
-
エクセル:横長の表を改行して...
-
エクセルで表示されている数字...
-
時間を「昼間」と「夜間」に分...
-
長い列の最後まで計算(エクセル)
-
EXCELの特定セルを編集不可・コ...
-
【Excel】での計算式教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの入力規則で2列表示したい
-
複数の文字列のいずれかが含ま...
-
SUMに含まれる範囲から特定のセ...
-
数式が入ったセルを含めて、数...
-
Excel上でのデータ数字が連番で...
-
Excelでの検索結果を含む行だけ...
-
エクセルで曜日に応じた文字を...
-
「エクセル」特定の行(セル)...
-
エクセル:横長の表を改行して...
-
エクセルでセルの値分の個数の...
-
エクセルで表示されている数字...
-
スペースとスペースの間の文字...
-
列の数字に100をかけたい
-
エクセルで、毎日の走行距離(...
-
エクセルのsumifでかけ算してか...
-
時間を「昼間」と「夜間」に分...
-
エクセルのVLOOKUP関数について
-
Excelのセル内文字の並び替えに...
-
エクセルにデータを入力すると...
-
別のセルに値が入力されたら、...
おすすめ情報