gooブログはじめました!

写真付きで日記や趣味を書くならgooブログ

カンマ区切り

2017-03-20 07:17:51 | filemaker
ほとんど寝ていない…
朝食を取り、旦那を送り出して
昼には帰ってくると言うので色々用事を済ませておかなくてはいけないのだが、睡魔が襲い30分程横になってから、始めようと思ったのだが、、、目をつむったら頭の中はファイルメーカーの関数の事でいっぱい。
ここに来る。
あ~、アラームがなった。タイムアウトだ。
でも私はここにいる。文はまとまらないが、取りあえず書いておこう。

カンマ区切りは、CSVに落としてエクセルで開くと一つづつセルに割り当てれるので便利なのだが、逆に受け手が一つだけのセルを集計にかけようとすると、思わぬ事態を引き起こす事になる。ようするに一つのセルに数字があるかと思ったら、横のセルに数字が入ってズレてしまっているからです。

番号など、2つ以上入れたい時に使用して
カンマが引き起こす、その現象が起きる事を知らない一般の人も多くいて、無意識に使ってしまった…の事例をみてしまう事があり、ルール、「カンマ使用禁止」がでてたりする…

それを知ってると、ファイルメーカーにインポートしたい時にどのフィールドに割り当てるかを簡単に設定できるので楽なのだが、作成者(FILEMER以外の開発者に限らず?)は好ましくないらしいんです。

なので、一つのセルに幾つかの情報をいれ、ファイルメーカーでインポートしてから、自動的に各持ち場のフィールドに移動してもらうための計算式を書いておきます。

一つのセルの情報「明細備考」:__1_3.6
FMのフィールド名 A B C D E F 6つの割り当てられた結果 「A:0」「B:0」「C:1」「D:3.6」「 E:0」「F:0」

つまり、"_"は区切りを意味します

全文字数: Length ( 明細備考 )

PatternCount ( 明細備考;"_" )←これは今回つかいません。ただのメモです。。。すみません



区切1: Position ( 明細備考 ; "_" ;1 ;1 )
区切2: Position ( 明細備考 ; "_" ;1 ;2 )
区切3: Position ( 明細備考 ; "_" ;1 ;3 )
区切4: Position ( 明細備考 ; "_" ;1 ;4 )
区切5: Position ( 明細備考 ; "_" ;1 ;5 )

A: If ( 区切1 = 0 ; 明細備考;If(区切1 =1;"";Left (明細備考;区切1 - 1 )))

B: If (区切1 = 0 or 区切2 = 2;"";If ( 区切2 > 区切1 ;Middle ( 明細備考 ; 区切1 + 1 ; 区切2 - 区切1 - 1) ;Right ( 明細備考 ; Length ( 明細備考 ) - 区切1 )))

C: If (区切2 = 0 or 区切3 = 3;"";If ( 区切3 > 区切2 ;Middle ( 明細備考 ; 区切2 + 1 ; 区切3 - 区切2 - 1) ;Right ( 明細備考 ; Length ( 明細備考 ) - 区切2 )))

D: If (区切3 = 0 or 区切4= 4;"";If ( 区切4 > 区切3 ;Middle ( 明細備考 ; 区切3 + 1 ; 区切4 - 区切3 - 1) ;Right ( 明細備考 ; Length ( 明細備考 ) - 区切3 )))

E: If (区切4 = 0 or 区切5= 5;"";If ( 区切5 > 区切4 ;Middle ( 明細備考 ; 区切4 + 1 ; 区切5 - 区切4 - 1) ;Right ( 明細備考 ; Length ( 明細備考 ) - 区切4)))

F: If (区切4 = 0 ;"";If ( 区切5 < 5 ;"" ;Right ( 明細備考 ; Length ( 明細備考 ) - 区切5)))

という事でした。

取りあえず、すっきりしたところで、
さあ、急いで用事をすませに行こう。
ジャンル:
学習
コメント   この記事についてブログを書く
この記事をはてなブックマークに追加
« 個別の小計 及び パーセン... | トップ |   

コメントを投稿


コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。

あわせて読む

トラックバック

この記事のトラックバック  Ping-URL