0

デフォルトのソート エンジンを使用すると、次のリストがソート済みと見なされます。

10.0.0.219
10.0.0.22
10.0.0.223

これは正しくありません。並べ替えは次のようにする必要があります。

10.0.0.22
10.0.0.219
10.0.0.223

最初の 3 オクテットが静的であると想定するのは安全ではありません。たとえば、他の IP アドレスには次のものがあります。

10.35.10.11
10.28.66.30
4

2 に答える 2

6

これは古い投稿であることは承知していますが、実用的なソリューションを提供するために、以下を提示します。

この数式を隣接するセルに入力し、IP アドレス (この例では A1) を含むセルを指すように参照を更新します。これにより、010.121.008.030 のような結果が生成され、アルファベット順に (正しく) 並べ替えることができます。次に、列幅をゼロに設定すると出来上がりです。コーヒーを楽しむ時間。

=TEXT(MID(A1,1,FIND(".",A1)),"000")&"."&TEXT(MID(A1,FIND(".",A1)+1,FIND(".",A1,FIND(".",A1)+1)-1-FIND(".",A1)),"000")&"."&TEXT(MID(A1,FIND(".",A1,FIND(".",A1)+1)+1,FIND(".",A1,FIND(".",A1,FIND(".",A1)+1)+1)-1-FIND(".",A1,FIND(".",A1)+1)),"000")&"."&TEXT(MID(A1,FIND(".",A1,FIND(".",A1,FIND(".",A1)+1)+1)+1,LEN(A1)),"000")
于 2015-01-16T19:31:51.050 に答える
4

これを行うにはいくつかの方法がありますが、これがより永続的な使用のためなのか、それとも 1 回限りのものなのかはわかりません。

  1. テキストから列へ

    IP アドレスを列に分割し、高度な並べ替えを使用してデータをテーブルとして並べ替えることができます。

  2. 選別

    組み込みのソーターを使用して、カスタムの並べ替え順序を作成できます。同じオク​​テット (例: 10.0.0.x) でアドレスを処理している場合は、10.0.0 を追加できます。あなたの注文として、それは残りのオーバーで数値ソートを行います。これはおそらく意図したとおりではありませんが、それでも機能します。

  3. 非表示の列

    Googleは、IPアドレスを数値として分割し、その列でソートする追加の列を含むいくつかの回答を提案しています。

  4. VBA

    これをすべて VBA で実行して、すべてのデータをメモリに取り込み、リストを書き換えることができます。ここでの利点は、再利用と拡張ができることです。

于 2011-10-18T20:42:48.700 に答える