A 回答 (12件中1~10件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
↓作成フィールド
フィールドA(数字)
フィールドB(数字)
TEXT(計算)で作成します。
わかりやすいように
フィールドAが260以上ならテキストに260以上
フィールドAが220以下ならテキストに220以上
それ以外の場合、
フィールドBがプラスならテキストにB_0以上
フィールドBがマイナスならテキストにB_0以下
としました。
「=」は調整で付け加えればよいかと思います。
また、フィールド作成時にフィールドA,Bにオプションから空欄付加などにすると安定すると思うのですが。
どうでしょう?
以下、計算フィールドtextの内容です。
Case( A >= 260 , "260以上" ,A <= 220 , "220以下", Case( B >0 , "B_0以上" ,B < 0 , "B_0以下"))
この回答への補足
さっそくのお返事ありがとうございます。
Case( A >= 260 , "260以上" ,A <= 220 , "220以下", Case( B >0 , "B_0以上" ,B < 0 , "B_0以下"))
の計算フィールドの内容で、220より大きく260より少なくかつBが+ならB1・-ならB2というのは、Case( B >0 , "B_0以上" ,B < 0 , "B_0以下"))の部分にあたりますか?
初歩的なことばかり聞きまして申し訳ありません。
No.2
- 回答日時:
NO.1です。
解釈としては、260以上は"260以上"
220以下は"220以下"
それ以外の場合→Case( B >0 , "B_0以上" ,B < 0 , "B_0以下"))
になります。
それ以外の場合(260>A>220)の時に、Bが+ならB_0以上・-ならB_0以下という計算式です。
不都合あれば考えますので、補足入れてください。
この回答への補足
それ以外の場合(260>A>220)の時に、Bが+ならB_0以上・-ならB_0以下という場合の計算式はどうなりますか?
どうも、260>A>220がわかりません。
No.3
- 回答日時:
説明下手で申し訳ありません。
本来は下記のような形にするとわかりやすいですかね。
Case( A >= 260 , "260以上" ,A <= 220 , "220以下", "260と220の間")
この式は、
case1→A >= 260 ならばtextは "260以上"
case2→A <= 220 ならばtextは "220以下"
case3→どちらにも当てはまらないときはデフォルト値"260と220の間"
としています。
case3のところに、新たに条件式↓
Case( B >0 , "B_0以上" ,B < 0 , "B_0以下")
↑正か負なのでデフォルト値の設定なし
にしています。
それ以外の場合(260>A>220)の時に、Bが+ならB_0以上・-ならB_0以下という場合の計算式はどうなりますか?
どうも、260>A>220がわかりません。
というのはcase3に当てはまります。
この回答への補足
たぶん私の書き方がまずかったのもしれません。
フィールドAが260以上なら”260以上”
フィールドBが220以下なら”220以下”
どちらも当てはまらず、かつ、フィールドBの値が+ならB1
どちらも当てはまらず、かつ、フィールドBの値が-ならB2
にしたいのです。
Case (フィールドA>= 260;"260以上";フィールドA< 220 ;"220以下";"";Case (フィールドB = +;"B1";フィールドB = -;"B2"))
ではダメでした。-とか+は使ってはダメなのでしょうか?それとも、そもそも計算式がダメでしょうか?
すみません。宜しくお願い致します。
No.4
- 回答日時:
フィールドAが260以上なら"A"
フィールドAが220以下なら"C"
上記以外でフィールドBが『正』なら"B+"
上記以外でフィールドBが『負』なら"B-"
という意味に解釈しました。
"A"、"C"、"B+"、"B-"が、フィールドの名前と間違えやすいので、それぞれ『あ』『う』『い+』および『い-』として:
Case ( A ≧ 260 ; "あ" ; A ≦ 220 ; "う" ; B ≧ 0 ; "い+" ; "い-" )
でよいと思います。Case関数は頭から条件を当て嵌めるので、3番目の条件は自動的に『上記以外』になります。最後はすべての条件に当てはまらないデフォルト値です。
なお、『あ』『う』にA、Cのフィールドの値を用いる場合には""を外して対応するフィールドの名前を使用します。
-とか+は使ってはダメなのでしょうか?
文字として使用する場合には、""で囲みます。正/負の意味であれば、上記のように0より大きい(小さい)を使用して式で表します。
No.5
- 回答日時:
Case( フィールドA >= 260 , "260以上" ,フィールドA < 220 , "220以下", Case( フィールドB >0 , "B1" ,フィールドB < 0 , "B2"))
こんな感じですかね。
=+という表記はしないです。正であれば>0,負であれば<0となります。
また、区切りはセミコロン;ではなく、コンマ,になのですが、新しいバージョンはセミコロン?
あとは、「""」は文字扱いの記号なので"220以下";""←ここがちょっと変ですね。
あとはNO4でcockerelさんが回答してくれたように、
case関数の3番目の条件で、B>0のとき"B1"、それ以外の場合はデフォルト値"B2"となります。
ですが、この場合、0(null)の設定を明確にしないと、正しく表示されないかもしれません。
私もファイルメーカーは仕事でよく使っております。
いろんな計算式を作っていくとすぐになれますよ。
私も勉強になりますので、わからないところは納得のいくまでご質問ください。
この回答への補足
この件についてはうまく表示されるようになりました。感動しております。ありがとうございました。しかし、また壁にぶちあたっています。
↓正常値
フィールドA 8~38
フィールドB 4~44
フィールドC N10~84 G8~48
フィールドDにA・B・Cいずれかの数値が100以上なら高度異常
フィールドDにA・B・Cいずれかの数値が99以下の異常値な
ら軽度異常と表示させたいのです。
まず、高度異常を書き、その後、軽度異常以下を書き、その後それ以外を書きましたが、うまく表示されません。
上記例でCase文を記入して頂けますか?
No.6
- 回答日時:
とりあえずは良かったですね。
次の壁は少々大変そうですので、整理しましょう。
まず、わからない点が。。。
フィールドC N10~84 G8~48というのがわかりません。
「N」「G」?
また、数値が2つある場合には
フィールドC N10~84 フィールドD G8~48にしたほうが良いのですが。
この場合、「N」「G」を含むことによってテキストフィールドか数字フィールドか
決めかねてしまいます。
99以下の異常値は軽度異常と表示させたいとのことですが、
たとえばフィールドAの正常値は8~38で、
100以上は高度異常
39<フィールドA<100は軽度異常
フィールドA<8も軽度異常ということでしょうか?
この回答への補足
すみません。補足不足でした
フィールドC N10~84 G8~48というのは、
N=男
G=女
で、この男と女は別フィールドで入力するようにして、
男の場合10~84
女の場合8~48が正常値で
男の場合84~99
女の場合48~99が軽度異常
男女とも100以上が高度異常ということになります。
逆に男の場合10以下
女の場合48以下は基準値より低いという表示もしたいですね。まあややこしくなってきました。今必死になってます。
No.8
- 回答日時:
ややこしいですが、case関数に関して落ち着いて考えるとわかるかと思います。
ちなみに、andは「かつ」、orは「または」です。
Case( 性別 = "男" , Case( (フィールドA > 100 or フィールドB > 100 or フィールドC > 100) , "高度異常", ((フィールドA < 100 and フィールドB < 100 and フィールドC < 100) and ( フィールドA > 38 or フィールドB > 44 or フィールドC > 84)),"軽度異常"), 性別 ="女",Case( (フィールドA > 100 or フィールドB > 100 or フィールドC > 100) , "高度異常", ((フィールドA < 100 and フィールドB < 100 and フィールドC < 100) and ( フィールドA > 38 or フィールドB > 44 or フィールドC > 48)),"軽度異常" ))
でとりあえずいきそうですが、もっとスマートになりそうです。もうちょっと時間を。
これには正常値以下が入っておりません。
正常値以下と表示させるのはフィールドCの値単独で判断して良いですか?
(AやBが100を超える場合や、軽度異常の場合は??)
No.9
- 回答日時:
ちょっとお仕事でセキはずしてしまいました。
大丈夫でしたか?
高度異常・軽度異常が重なった場合は高度異常を優先させるということはどういうことでしょう?
どれかのフィールドが100を超える場合は高度異常
どのフィールドも100を超えず、かつ正常値よりも数値が高い場合を軽度としているのですが、
ご面倒でなかったら補足お願い致します。
この回答への補足
お返事遅くなりまして申し訳ありません。
Aが軽度
Bが高度
Cが正常
としたら高度異常を表示させるようにするにはどうしたらいいでしょうか?
やっかいですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) Accessテキストボックス内に2つのフィールドの値を比較して大きい方の値を表示させる方法 1 2022/09/09 10:50
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
- Access(アクセス) Accessフォームで複数条件でフィールドの値を表示する方法 4 2022/07/21 10:47
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Access(アクセス) Accessクエリで年月フィールドを年のみで抽出する方法について 2 2022/08/29 18:10
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- カードゲーム 墓地からシャドール・ネフィリムを特殊召喚できません(マスターデュエル) 1 2022/06/09 09:12
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差込印刷での全角表示について...
-
エクセルデータをワードで差し...
-
エクセルにおける「フィールド...
-
実行時エラー '3464': 抽出条件...
-
フィールドの更新がない
-
ACCESS 重複データを1...
-
Accessのハイパーリンクをクリ...
-
ACCESSのデータに自動で半角ス...
-
sqlserverにはグループ集計のfi...
-
クエリで割り算する方法を教え...
-
ACCESSで条件によってフォーム...
-
Acsess アクセス のクエリで...
-
varchar型の入力できる最大文字...
-
アクセス:Yes/No型→チェックい...
-
Word差し込み印刷のハイフン(...
-
奇数・偶数ページごとに差し込...
-
アクセスのクエリでパラメータ...
-
テーブル設計(複数の通貨があ...
-
datetime型のUpdate文
-
エクセルのピポットテーブルで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷での全角表示について...
-
エクセルにおける「フィールド...
-
エクセルデータをワードで差し...
-
ACCESS 重複データを1...
-
フィールドの更新がない
-
クエリで割り算する方法を教え...
-
ACCESSのデータに自動で半角ス...
-
Word差し込み印刷のハイフン(...
-
Accessのハイパーリンクをクリ...
-
Acsess アクセス のクエリで...
-
アクセスのクエリでパラメータ...
-
ACCESSでフィールド名の変更(...
-
ACCESSで条件によってフォーム...
-
実行時エラー '3464': 抽出条件...
-
列を移動させるvbaコードを教え...
-
クエリーで、全角混じりデータ...
-
レコードの内容にハイフンをつ...
-
sqlserverにはグループ集計のfi...
-
Accessフィールド分割
-
ACCESSでフィールドに-(ハイフ...
おすすめ情報