0

作業中のドキュメントのネストされた IF の作成に取り組んできましたが、両方とも機能するがマージする必要がある 2 つの異なる IF ステートメントを作成することができました。

関連する情報は次のとおりです。

      J           K          L          M        N
23  Start        End                           Cloud
24  01/04/2014             cloud                Yes
25  03/03/2014             Overdue      
26  22/05/1992             cloud                Yes
27  03/03/2014             Overdue      
28  01/07/2014             cloud                Yes
29  29/06/2014             On Time      
30  03/03/2014  10/03/2014 Complete              Yes

現在の 2 つの IF は次のとおりです。

この If ステートメントは、最初に End 列が満たされているかどうかを確認し、満たされている場合はプロジェクトが完了し、列 L に表示できます。次に、cilumn J で開始 (日付) を取得し、10 稼働日を追加してから、これを比較しますプロジェクトが期限切れかオンタイムかを確認するには、今日の日付まで。

=IF(NOT(ISBLANK(K25)),"Complete",IF(WORKDAY(J25,10)<TODAY(),"Overdue","On Time"))

この IF ステートメントは、Cloud 列 (N) に Yes があるかどうかを確認し、ある場合は開始日に 20 営業日を追加し、それを今日の日付と比較して、プロジェクトが期限切れか時間通りかを確認します。

=IF(AND(N26 = "Yes", (WORKDAY(J26,20)<TODAY())),"Overdue", "On Time")

したがって、私が探しているのはこれら2つの組み合わせですが、多くの引数に対して常にエラーまたはメッセージが表示されます。

必要なことは次のとおりです。1) 列 L が設定されている場合は終了日を確認します。2) クラウド列に「はい」がある場合は、開始日に 20 営業日を追加して比較します。 3) クラウド列が空の場合は、開始日に 10 営業日を追加してから、今日の日付と比較し、列 L を期限切れまたはオンタイムに設定します。

どんな助けでも素晴らしいでしょう!!!

4

1 に答える 1

1

組み合わせ式の問題は単純です。Excel で複雑なIFステートメントを実行する場合、タブを使用してステートメントをネストすると役立つことがわかりました

=IF(NOT(ISBLANK(K26)),
  "Complete",
IF(AND(N26 = "Yes", (WORKDAY(J26,20)<TODAY())),
  "Overdue",
"On Time",
IF(WORKDAY(J26,10)<TODAY(),"Overdue","On Time")))

Excel IF ステートメントでは、それらを正常にネストするには、 のパターンにする必要がありIF(Condition,Value,Else IF)ます。2 番目のIFステートメントがIF(Condition,Value1,Value2,Else IF). IF2つの引数しかとれないため、明らかにこれは機能しません。if を処理するシナリオが 2 つあるようですCloud = Yes。そのため、ネストにもっと注意を払う必要があります。これを行う 1 つの方法は、条件を使用せず、ステートメントを最初の値の位置にANDネストすることです。IF

=IF(NOT(ISBLANK(K26)),
   "Complete",
 IF(N26 = "Yes",                    
   IF(WORKDAY(J26,20)<TODAY(),      
     "Overdue",
     "On Time"),
 IF(WORKDAY(J26,10)<TODAY(),
     "Overdue",
     "On Time")))

2 番目の主要なでは、 onステートメントの下にIFあるすべてのロジックをグループ化しました。そうでない場合は、基本的な 10 日間のチェックを行います。ネストされていない形式の完成した数式を次に示します。私が何か誤解した場合はお知らせください。Cloud = "YESIF

=IF(NOT(ISBLANK(K26)),"Complete",IF(N26 = "Yes",IF(WORKDAY(J26,20)<TODAY(),"Overdue","On Time"),IF(WORKDAY(J26,10)<TODAY(),"Overdue","On Time")))

わかりやすくするために、日付を M/D/Y に切り替えました。これらは、今日の日付 (2014 年 7 月 11 日) に基づいた数式を使用した結果です。

4/1/2014                Overdue         Yes
3/3/2014                Overdue     
5/22/1992               Overdue         Yes
3/3/2014                Overdue     
7/1/2014                On Time         Yes
6/29/2014               On Time     
3/3/2014    10/3/2014   Complete        Yes

編集: 表の数式

次のヘッダー/列を含む表形式の上記の式を次に示します。

Start       End         Status      Cloud
4/1/2014                Overdue     Yes
3/3/2014                Overdue 
5/22/1992               Overdue     Yes
3/3/2014                Overdue 
7/1/2014                On Time     Yes
6/29/2014               On Time 
3/3/2014    10/3/2014   Complete    Yes

方式

=IF(NOT(ISBLANK([@End])),"Complete",IF([@Cloud] = "Yes",IF(WORKDAY([@Start],20)<TODAY(),"Overdue","On Time"),IF(WORKDAY([@Start],10)<TODAY(),"Overdue","On Time")))
于 2014-07-11T12:58:51.700 に答える