みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
宅急便の送り状番号で例えば123456789999というのに
4桁ごとにハイフンを入れ1234-5678-9999としたいのですが、
replaceを使うのはわかるのですが、いまいち理解ができません・・。
どなたかご教授下さればありがたいです。
ちなみに番号については毎回違う番号で同じ番号はありません。
Offline
めちゃ普通ですが、桁数がいつも12桁なら、これでどうでしょうか。
Left ( 送り状番号 ; 4 ) & "-" & Middle ( 送り状番号 ; 5 ; 4 ) & "-" & Right ( 送り状番号 ; 4 )
Offline
0文字をReplaceすれば挿入と同じことになる、という話ですよね。
わからなければ、この場合別の関数(LeftとかMiddleとか)でやってもそれほど違わないのでは。
(1つ挿入するなら使う関数が1つなのか2つなのか、ですが、2つ挿入するなら2つと3つの違い)
入力が12桁されなかった場合の処理も必要では?
#2だと11桁の場合でも数字がダブって12桁になってしまいます。
Offline
トピック名を入れないまま投稿してしまいました・・お恥ずかしい・・
Left とMiddleですね、無知の極みで手探り状態ですが一度トライしてみます。
ありがとうございます。
またご報告差し上げます。
Offline
Offline
#2 fpck様の以下の式で出来ました。ありがとうございました(^.^)
Left ( 送り状番号 ; 4 ) & "-" & Middle ( 送り状番号 ; 5 ; 4 ) & "-" & Right ( 送り状番号 ; 4 )
後、確かに12桁ではなく11桁という場合も考えられないことはありません。
この場合、ifで11桁の場合か12桁の場合かを、まず振り分けて
それからLeft Middleでそれぞれの計算式をという事になるのでしようか
もう少しお知恵をお借りできればありがたく思います。
Offline
Replace ( Replace ( 番号 ; 9 ; 0 ; "-" ) ; 5 ; 0 ; "-" )
定番の方法でしょう。
書かれた方法なら、
最後もMiddleにすれば文字数に関わらずできますね
Offline
Replace ( Replace ( 番号 ; 9 ; 0 ; "-" ) ; 5 ; 0 ; "-" )
チポ様、なるほどこれでも行けますね、ありがとうございました。
Offline
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 518.47 KiB (Peak: 523.38 KiB) ]