2024/03/22 22:05
ご教授お願い致します。
活動履歴をテーブルで管理したいのですが、
進捗状況フィールドへ自動反映を考えています。
テーブル内の活動進捗へ(未選択・進行中・完了)としています。
最初は未選択で、
一つでも進行中があれば、進捗状況へ:(進行中あり)
全てが完了で進捗状況へ:(すべて完了)
としたいのですが、上手くいきません。
上手くいかない計算式です。
IF(
CONTAINS(活動進捗,""),
IF(OR(
CONTAINS(活動進捗,"進行中"),"進行あり","未選択"),
CONTAINS(活動進捗,"完了"),"進行あり","全て済"))
どなた様か教えて下さい。
どうぞ宜しくお願い致します。
ミュートしたユーザーの投稿です。
投稿を表示IF文は
IF ( 【条件】 , 【真なら】 , 【偽なら】)
なので、重ねるなら
IF(
CONTAINS ( 活動進捗 , "" ) , "未選択" ,
IF ( CONTAINS ( 活動進捗 , "進行中" ) , "進行あり" ,
IF ( CONTAINS ( 活動進捗 , "完了" ) , "進行あり" , "全て済" )))
になりますが、「全て選択で全て済」ということは、
テーブルに入っている全ての案件数=完了数 にならないといけないのではないかな、と推察されるので、
①テーブル内にカウントを入れる
・案件数:数値フィールド→初期値「1」、フィールドコード:案件
・進行数:計算フィールド→「IF ( CONTAINS ( 活動進捗 , "進行中" ) , 1 , 0 )」
フィールドコード:進行カウント
・完了数:計算フィールド→「IF ( CONTAINS ( 活動進捗 , "完了" ) , 1 , 0 )」
フィールドコード:完了カウント
②テーブルの案件数をカウントする。・・・フィールドコード:案件数
→テーブルの外に計算フィールドを追加→「SUM ( 案件 )」
③進行数と完了数をカウントする。・・・フィールドコード:進行数、完了数
②と同様に、計算フィールドを追加して、活動進捗をカウント
→ 「SUM ( 進行カウント )」、「SUM ( 完了カウント )」
④最初の式に組み込む・・・文字列フィールドを入れて、自動計算
IF ( 案件数 = 完了数 , "全て済" ,
IF ( SUM ( 進行カウント ) > 0 , "進行あり" ,
IF ( SUM ( 完了カウント ) > 0 , "進行あり" , "未選択" )))
参考:https://jp.cybozu.help/k/ja/utility/app/tableline_count.html#:~:text=%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AE%E5%A4%96%E3%81%AB%E8%A8%88%E7%AE%97,%E6%95%B0%E3%81%8C%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82
が良さそうかな、と思います。
カウントをいじられると面倒であれば、フィールドのアクセス権で閲覧なしにするのが良いと思います!(非表示になるだけなので、計算はちゃんと反映されます!(確認済です!))
ミュートしたユーザーの投稿です。
投稿を表示