Я пытаюсь отсортировать столбец в открытом офисе и мне нужно, чтобы значения ячеек оставались между 10 и 0. В настоящее время у меня есть оператор If следующим образом: If(X6>0;(((S7/V7)-($B$6))/$B$4)+$X$5;0)
Мне нужно также включить оператор IF в ту же ячейку следующим образом: IF(X6>10;$D$26=0;(((S7/V7)-($B$6))/$B$4)+$X$5)

Как я могу заставить эти 2 оператора IF работать в одной ячейке?

2 ответа2

2

Части "then" и "else" в if(condition; then; else) могут быть выражением IF:

if(condition1; then1; else if(condition2; then2; else2))
if(x6<=0; 0; if(x6>10; $D$26=0; (((S7/V7)-($B$6))/$B$4)+$X$5))

Или же:

if(condition1; then if(condition2; then2; else2); else1)
if(x6>0; if(x6>10; $D$26=0; (((S7/V7)-($B$6))/$B$4)+$X$5); 0)
1

Вот два выражения IF в вашем вопросе:

If(X6>0; (((S7/V7)-($B$6))/$B$4)+$X$5; 0)(с пробелами, добавленными для ясности) и
IF(X6>10; $D$26=0; (((S7/V7)-($B$6))/$B$4)+$X$5)

Я представляю их так, потому что из вопроса не очевидно, что

                   (((S7/V7)-($B$6))/$B$4)+$X$5

подвыражение одинаково в обоих. Ответ Арджана правильный, но он зависит от того факта, что два выражения IF имеют общее подвыражение.

Мне также интересно, что вы намерены сделать подвыражением $D$26=0 .  Если это опечатка, а вы имеете в виду

IF(X6>10;     0  ; (((S7/V7)-($B$6))/$B$4)+$X$5)

тогда есть другой ответ, который (ИМХО) яснее:

IF(AND(X6>0;X6<=10); (((S7/V7)-($B$6))/$B$4)+$X$5; 0)

Обратите внимание, что в вашем тексте написано «между 10 и 0», но вы относитесь к 0 и 10 по-разному.
____________
Кстати, вы можете немного упростить это подвыражение, убрав лишние скобки.  Вы можете упростить его до любого из следующих:

  • (((S7/V7)-$B$6)/$B$4)+$X$5
  • ((S7/V7-$B$6)/$B$4)+$X$5
  • (S7/V7-$B$6)/$B$4+$X$5

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .