Я создал формулу в Excel, но она не работает. Это формула = IF(AND(G2 <41, L2 <41), 4, IF(AND(G2> 40, G2 <81), AND(L2> 40). , L2, <81), 5, ЕСЛИ (И (G2> 80, L2> 80), 6, ЕСЛИ (И (G2> 41, G2> 81) и (L2> 80), 7, ЕСЛИ (И (G2 <41, L2> 40) и (L2 <81), 8, ЕСЛИ (И (G2 <41, L2> 80), 9, ЕСЛИ (И (G2> 80, L2> 40) и (L2 <81), 3, ЕСЛИ (И (G2> 40, G2 <81), И (L2 <41), 2, ЕСЛИ (G2> 81, L2 <41), 1,0) Не могли бы вы помочь мне понять, как улучшить формула
2 ответа
Поскольку AND является бинарным оператором, требующим по крайней мере два аргумента для проверки того, что оба являются истинными, четыре конструкции, имеющие единственные условия, являются неправильными:
AND(L2>80), AND(L2<81), AND(L2<81), AND(L2<41)
в таких конструкциях, как
AND(G2>41,G2>81)
это будет справедливо только в том случае, если G2> 81, поэтому первая часть, G2> 41, не нужна, если это не должно быть AND(G2> 41, G2 <81)
для неправильных конструкций, таких как
IF(AND(G2>41,G2<81),AND(L2>80)
Вы должны использовать
IF( AND( AND(G2>41,G2<81),L2>80))
Это сначала проверит, что G2> 41, а также <81, и, если это так, то также проверит,> L2 также> 80
Если вы возьмете однозначные числа, как предназначено для "результата" для истинных тестов, а затем отформатируете выражение (формулу) следующим образом:
=IF( AND(G2<41,L2<41),4, # else IF(AND(G2>40,G2<81),AND(L2>40,L2<81),5, # else IF(AND(G2>80,L2>80),6, # else IF(AND(G2>41,G2>81),AND(L2>80),7, #else IF(AND(G2<41,L2>40),AND(L2<81),8, # else IF(AND(G2<41,L2>80),9, #else IF(AND(G2>80,L2>40),AND(L2<81),3, #else IF(AND(G2>40,G2<81),AND(L2<41),2, # else IF(G2>81,L2<41),1, # else 0)
... тогда должно быть совершенно ясно, где существуют проблемы.
Обратите внимание, что IF() принимает ОДНО выражение и пытается установить, ИСТИНА он или ЛОЖЬ, возвращая соответствующий один из двух оставшихся аргументов.
Я бы порекомендовал, чтобы выражения / формулы были как можно более короткими - в противном случае очень легко закончить "беспорядок" - пример здесь.
Это очень похоже на ситуацию, в которой "умный код" используется для программирования, то есть когда лекарство - "ПОЦЕЛУЙ" (пусть это будет просто глупо).