初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2016-07-30 10:24:32

ゆらゆら
Guest

単位の前にある数字だけを抽出するには

超初心者です。FM13を使っています。よろしくお願いします。

テキストフィールドの中に「○本セット」と「○個セット」いう二つのパターンで値が入っているデータがあるのですが、
この○の中の数字が2や10といった、数字だけを抽出して他のフィールドで表示する計算式はありますか?

※一つのレコードに○本セットと○個セットは同時に入っていません。

2本セット
10本セット
5個セット
24個セット

このような感じです。

よろしくお願いします。

#2 2016-07-30 11:00:31

旅人
Member

Re: 単位の前にある数字だけを抽出するには

単位の部分に数字が入らない条件ならFilter関数でいいのでは。
詳しくはヘルプで。

Offline

#3 2016-07-30 11:02:24

nice-guy
Member

Re: 単位の前にある数字だけを抽出するには

GetAsNumber はどうでしょう?以下ヘルプを引用

目的
フィールドタイプ番号としてテキストに含まれる数字のみを返します。

構文
GetAsNumber ( テキスト )

引数
テキスト - 任意のテキスト式、または数字を含むテキストフィールド

GetAsNumber ( “FY98” ) は、「98」を返します。

GetAsNumber ( “$1,254.50” ) は、「1254.5」を返します。

GetAsNumber ( “2 + 2” ) は、「22」を返します。

GetAsNumber ( シリアル番号 ) は、「シリアル番号」の値が「TKV35FRG6HH84」の場合、「35684」を返します。

GetAsNumber (誕生日) は、誕生日フィールドが 2014/10/10 の場合、「735516」を返します

Offline

#4 2016-07-30 11:24:21

ゆらゆら
Guest

Re: 単位の前にある数字だけを抽出するには

旅人さん、nice-guyさん、言葉足らずで申し訳ないです。

「個セット」か「本セット」の2つのパターンのときだけ前にある数字を抽出したいです。

<例>
1本→抽出しない
5個→抽出しない
10本セット→10
6個セット→6

#5 2016-07-30 13:03:40

旅人
Member

Re: 単位の前にある数字だけを抽出するには

「本セット」と「個セット」をSubstitute関数で消せばいいのでは。

Offline

#6 2016-07-30 19:02:03

旅人
Member

Re: 単位の前にある数字だけを抽出するには

Substitute(そのテキストフィールド ; ["本セット" ; "" ] ; ["個セット" ; "" ] )
です。

Offline

#7 2016-07-31 01:29:02

Hiro
Member

Re: 単位の前にある数字だけを抽出するには

> 「個セット」か「本セット」の2つのパターンのときだけ前にある数字を抽出したいです。
2パターン以外は抽出しない式。

Let(
[
   #txt=テキストフィールド;
   #txt=Substitute(#txt; ["本セット";"個セット"]);
   //←Substitute(#txt; ["本";"個セット"]);
   #pos=Position(#txt;"個セット";1;1)
];
   Replace(#txt;#pos;Length(#txt);"")
)

【修正記録】16.07.31 11:20
式にタイポがあり、訂正しました。

Last edited by Hiro (2016-07-31 11:21:59)

Offline

#8 2016-08-16 17:27:57

hajime
Member

Re: 単位の前にある数字だけを抽出するには

"セット"の文字が含まれる場合に数字だけを取りたいのであれば、こんな感じでしょうか。

let(
~txt = テキストフィールド;
if( PatternCount(~txt;"セット");GetAsNumber ( ~txt );~txt)
)

Offline

#9 2018-10-15 21:40:52

山ちゃん
Guest

Re: 単位の前にある数字だけを抽出するには

初心者です。ご教示よろしくお願いいたします。
フィールドAに「1-2」 といった数字と記号が混じっているとき、フィールドBには「1」をフィールドCには「2」が入るような計算式はどうすればいいかお教えいただけないでしょうか?

#10 2018-10-15 23:29:16

Hiro
Member

Re: 単位の前にある数字だけを抽出するには

フィールドAに「-」が1つだけあるときに、その左辺をフィールドBに、右辺をフィールドCに
分解格納する式、(「-」の数が1つ以外は空欄を返す)

・フィールドBは、
   Case(
      PatternCount(フィールドA;"-")=1; GetValue(Substitute(フィールドA; ["-";¶]); 1)
   )

・フィールドCは、
   Case(
      PatternCount(フィールドA;"-")=1; GetValue(Substitute(フィールドA; ["-";¶]); 2)
   )

Offline

#11 2018-10-16 08:52:15

チポ
Member

Re: 単位の前にある数字だけを抽出するには

記号は「-」のみですか?
他の記号もあるのですか?

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 10 queries executed - Memory usage: 567.17 KiB (Peak: 572.05 KiB) ]