みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FM Pro15 Ad 環境:Mac
いつもお世話になっています。
IPアドレスの表をソートしたいのですが、思うように動きません。
100.200.300.400
100.200.300.400
100.200.300.401
100.200.300.402
上記のようであれば問題ないのですが、
100.200.50.400
上記のように、例えば三番目が300でなく50の場合、
100.200.300.400 の上にきて欲しいのですが、最下部にきてしまいます。
点の区切りずつ、前から見てソートするにはどうしたら良いでしょうか。
よろしくお願いします。
Offline
四つのフィールドに区切りごと分けて、その四つでソートすればいいのでは。
Offline
各セクター内を「ゼロ埋め3桁整形」する計算フィールドを作り、これでソートする、とか。
その式例は、
Let([
#fwd="Right(\"000\"&\"";
#bwd="\";3)";
#mid=#bwd & "&\".\"&" & #fwd;
#fnc=#fwd & Substitute(IPアドレス; ["."; #mid]) & #bwd
];
Evaluate(#fnc)
)
Last edited by Hiro (2017-05-15 15:14:41)
Offline
Let (
t = "000" & Substitute ( アドレス ; "." ; "¶000" ) ;
Right ( Getvalue ( t ; 1 ) ; 3 ) & "." & Right ( Getvalue ( t ; 2 ) ; 3 ) & "." & Right ( Getvalue ( t ; 3 ) ; 3 ) & "." & Right ( Getvalue ( t ; 4 ) ; 3 )
)
再帰が難しければ、この式で。
自動入力で,アドレスのフィールドを整形しておいても良いかもしれませんよ。
Offline
チポ様、Hiro様、Shin様
回答ありがとうございます。
今回はフィールドを分けたくなかったので、Hiro様、Shin様の方法で試してみました。
どちらでも出来ました!ありがとうございました。
Offline
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 556.09 KiB (Peak: 589.05 KiB) ]