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

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

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

You are not logged in.

Announcement

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


#1 2020-04-22 18:41:19

shimo5501
Member

空白のフィールド値は計算しない方法

いつもお世話になっています。

「鶏卵」「小麦」「牛乳」というフィールドがあり、それぞれグラム数またはテキストで入力します。
それぞれのたんぱく質含有量を求めるフィールドの計算式を教えて欲しいのですが、
それぞれのたんぱく質1g当たりの換算係数は「22」を使用します。

また、鶏卵のフィールドは表示方法が「1/32個」「1/16個」「1/8個」「1/4個」「1/2個」「1個」で表示をしたいので、
卵1個を50gとした場合、鶏卵のみでは以下の計算となりました。

If (鶏卵= "1/32個";"1.5625" ;If(鶏卵="1/16個";"3.125";If(鶏卵="1/8個";"6.25";If(鶏卵="1/4個";"12.5";If(鶏卵="1/2個";"25";If(鶏卵="1個";"50"))))))* 22

ただし、それぞれのフィールド値が空白の場合は除外して計算をしたいと考えています。

例)鶏卵 1個、小麦 空白、牛乳 空白 の場合 たんぱく質含有量は 50*22=1100g
  鶏卵 1個、小麦 10g、牛乳 空白 の場合 たんぱく質含有量は (50+10)*22=1320g

といった感じの数値を導きたいのですが、空白のフィールドを除外する方法がわかりません。
どなたかご教示お願いします。

Offline

#2 2020-04-22 19:16:08

Hiro
Member

Re: 空白のフィールド値は計算しない方法

計算結果は、小数点以下を四捨五入した「整数値」で返す式

   Round((Evaluate(Substitute(鶏卵フィールド; ["個";"*50"])) + 小麦フィールド + 牛乳フィールド)*22; 0)

Offline

#3 2020-04-23 09:18:10

shimo5501
Member

Re: 空白のフィールド値は計算しない方法

おぉ、早速ありがとうございました。
上手くできました。

条件追加で大変申し訳ありません。
鶏卵フィールドに「1個」と入力した場合に、別のフィールドに「生卵黄」と入力した場合は「1」を、「加熱卵黄」と入力した場合は「0」を返す条件を追加できますでしょうか?

たとえば、以下のような計算が成り立つようにできればと考えています。
生卵黄 1個、小麦 1g、牛乳1g の場合 1+22+22=45
加熱卵黄 1個、小麦 1g、牛乳1g の場合 0+22+22=44
加熱全卵 1/2個、小麦 1g、牛乳1g の場合 550+22+22=594

Offline

#4 2020-04-23 12:14:57

Hiro
Member

Re: 空白のフィールド値は計算しない方法

修正式は、

   Let(
   [
      #egg=
            Case(
               別のフィールド="生卵黄"; "/22";
               別のフィールド="加熱卵黄"; "*0";
               "*50"
            );
      #鶏卵=Evaluate(Substitute(鶏卵フィールド; ["個";#egg]))
   ];
      Round((#鶏卵+小麦フィールド+牛乳フィールド)*22; 0)
   )

Offline

#5 2020-04-24 08:32:04

shimo5501
Member

Re: 空白のフィールド値は計算しない方法

Hiroさん

いうことない、完璧です。
ありがとうございました。たすかりました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 551.84 KiB (Peak: 579.64 KiB) ]