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

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

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

You are not logged in.

Announcement

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


#1 2014-02-18 17:32:21

まこ
Guest

空白を無視して3つのフィールドの値が同じか判定する

よろしくお願いします。
FileMaker13です。

Aフィールド
Bフィールド
Cフィールド
計算フィールド(ABCの値が同じかどうか調べる)

ABCと3つのフィールドがあります。
基本的には同じ値が入っていないといけないのですが、違う値をもつレコードがあり、
それを計算フィールドで判定したいと思っています。
A=B=C
でいいのですが、たまに空白のものがあり、
その場合は無視して判定したいのですが、方法がわかりません。

●OK
A=5
B=5
C=5

●NG
A=3
B=2
C=3

●OK
A=3
B=3
C=


計算方法を教えて下さい。

#2 2014-02-18 17:48:26

barikan
Guest

Re: 空白を無視して3つのフィールドの値が同じか判定する

( A & B & C ) <> "" and A = B and B = C

#3 2014-02-18 18:06:57

チポ
Member

Re: 空白を無視して3つのフィールドの値が同じか判定する

二つ、三つが空白の場合もあるのでしょうか?

あれば、その場合の判定は?

Offline

#4 2014-02-18 18:15:46

barikan
Guest

Re: 空白を無視して3つのフィールドの値が同じか判定する

空白の取り扱いを勘違いしていました。

Let ( [
l = List ( A ; B ; C ) ;
v = GetValue ( l ; 1 ) ;
lvc = ValueCount ( l )
] ;
0 < lvc and lvc = ValueCount ( FilterValues ( l ; v ) )
)

多分これで大丈夫?
値が一つ以上入っていて、全て同じだとTrue

#5 2014-02-18 18:30:18

Hiro
Member

Re: 空白を無視して3つのフィールドの値が同じか判定する

値入力が1フィールド以下なら空白を返す(判断しない、入力待ち)ものとして、

Let(
[
  #lst=List(A;B;C);
  #key=GetValue(#lst;1)
];
  Case(
    ValueCount(#lst)<=1; "";
    FilterValues(#lst;#key)=FilterValues(#lst;#lst); "OK";
    "NG")
)

Last edited by Hiro (2014-02-18 18:41:40)

Offline

#6 2014-02-18 18:31:04

Shin
Member

Re: 空白を無視して3つのフィールドの値が同じか判定する

Let (
[
 t0 = List ( A ; B ; C ) ;
 t1 = GetValue ( t0 ; 1 ) 
] ;
 ValueCount ( t0 ) = ValueCount ( FilterValues ( t0 ; t1 ) )
)

Last edited by Shin (2014-02-18 19:04:07)

Offline

#7 2014-02-19 10:24:27

まこ
Guest

Re: 空白を無視して3つのフィールドの値が同じか判定する

皆様、ありがとうございます。
おっしゃるとおり、二つ、三つが空白の場合もあります。
おかげ様で判定することができました。
式を拝見して自分ではできなかったと思います。
ありがとうございました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 553.99 KiB (Peak: 581.9 KiB) ]