Вот анализ формулы, которую вы пытаетесь написать.
' = IF([Condition], [True], [False])
' Condition = A5=""
' True = IF(B5="""",0;Sheet1!D4),IF(""AssemblyTime""!B5=""X"";1;Sheet1!C4)
' IF([Condition], [True], [False])
' Condition = B5=""
' True = Sheet1!D4)
' False = IF(""AssemblyTime""!B5=""X"",1;Sheet1!C4
' Syntax error: missing closing bracket
' IF([Condition], [True], [False])
' Condition = ""AssemblyTime""!B5="X"
' Syntax error: Should be 'Assembly Time'
' True = 1
' False = Sheet1!C4
' False = [missing]
Почему бы вам не написать формулу на рабочем листе, заставить ее работать там, а затем попросить синтаксис написать рабочую формулу по коду VB? На самом деле, если кто-то поможет вам с синтаксисом VB, вы получите только формулу, которая не работает.
При отсутствии результата False для базового оператора c IF, мне интересно, можете ли вы уменьшите этот уровень, объединив первые два Conditions
, например IF(AND(A5="",B5=""),