#sharepoint #if-statement #calculated-columns
#sharepoint #оператор if #вычисляемые столбцы
Вопрос:
У меня есть 9 столбцов, для которых задан диапазон разных чисел от 0 до 4, представляющих разные статусы. Для того, чтобы мой вычисляемый столбец был равен «Завершен», мне нужно убедиться, что все 9 столбцов равны 0,3,4 или пусты и ничего больше.
Вот что я придумал, но оно регистрируется как недопустимое:
=IF(AND(OR([TF Task Status]=3,[TF Task Status]=4,[TF Task Status]=0,[TF Task Status]="")),AND(OR([TH Task Status]=3,[TH Task Status]=4,[TH Task Status]=0,[TH Task Status]="")),AND(OR([SUP Task Status]=3,[SUP Task Status]=0,[SUP Task Status]="")),AND(OR([EHSD Task Status]=3,[EHSD Task Status]=0,[EHSD Task Status]="")),AND(OR([EHSRV Task Status]=3,[EHSRV Task Status]=0,[EHSRV Task Status]="")),AND(OR([SM Task Status]=3,[SM Task Status]=0,[SM Task Status]="")),AND(OR([TL Task Status]=3,[TL Task Status]=0,[TL Task Status]="")),AND(OR([VP Task Status]=3,[VP Task Status]=0,[VP Task Status]=""))),"Completed","")
Есть ли простой способ сделать это? Способ, который работает, не является чрезмерно громоздким?
Ответ №1:
Ваше использование AND
операторов внутри вашей формулы неверно — вы должны просто связать OR
условия в виде условий, разделенных запятыми, в рамках одного AND
оператора как такового:
=IF(AND(OR([TF Task Status]=3,[TF Task Status]=4,[TF Task Status]=0,[TF Task Status]=""),OR([TH Task Status]=3,[TH Task Status]=4,[TH Task Status]=0,[TH Task Status]=""),OR([SUP Task Status]=3,[SUP Task Status]=0,[SUP Task Status]=""),OR([EHSD Task Status]=3,[EHSD Task Status]=0,[EHSD Task Status]=""),OR([EHSRV Task Status]=3,[EHSRV Task Status]=0,[EHSRV Task Status]=""),OR([SM Task Status]=3,[SM Task Status]=0,[SM Task Status]=""),OR([TL Task Status]=3,[TL Task Status]=0,[TL Task Status]=""),OR([VP Task Status]=3,[VP Task Status]=0,[VP Task Status]="") ),"Completed","")
Проверено и подтверждено в пользовательском списке в SharePoint 2010.