Страницы: 1
RSS
Не срабатывают несколько условий ЕПУСТО
 
Добрый день,

В ячейке записана следующая формула:

Код
=ЕСЛИМН(D29<>0;"";ЕПУСТО(D29)*ЕПУСТО(D12);C12;ЕПУСТО(D29)*ЕПУСТО(С12);D12)


Но почему-то условие ЕПУСТО для C12 и D29 не срабатывают, выходит ошибка #Н/Д


Не подскажите почему и как это исправить?


Во вложении таблица с этой формулой для проверки. Если удалить значение из ячейки D29, то в результирующей ячейке C29 будет ошибка


Спасибо заранее.
Изменено: Verticalx - 19.08.2024 15:03:41
 
Функция ЕСЛИМН возвращает ошибку если условия Истина не найдены, у Вас все условия Ложь!
Потому что в C12 не пусто. Проверьте на =ЕПУСТО(C12).
Лучше проверять C12<>""
 
Цитата
Artem_1990 написал:
Функция ЕСЛИМН возвращает ошибку если условия Истина не найдены, у Вас все условия Ложь!Потому что в C12 не пусто. Проверьте на =ЕПУСТО(C12). Лучше проверять C12<>""

Спасибо.

Я поменял на:

Код
=ЕСЛИМН(ЕПУСТО(D29)*ЕПУСТО(D12);C12;ЕПУСТО(D29)*(C12<>"");D12;D29<>0;"")


Но все равно не работает. Выдает ошибку !Н/Д. Если убрать сбоки и сделать вот так:

Код
=ЕСЛИМН(ЕПУСТО(D29)*ЕПУСТО(D12);C12;ЕПУСТО(D29)*C12<>"";D12;D29<>0;"")


То будет ошибка #ЗНАЧ!

Также пробовал везде заменить ЕПУСТО на <>"", но тогда ошибок еще больше.

Есть предположение, что это связано с тем, что значение ячейки С12 - это формула-условие. И это формула делает ячейку С12 пустой (что необходимо для выполнения формулы выше), только после того, как введены данные в ячейку D12.

То есть, может быть это из-за последовательности выполнения формул?

Хотя никаких циклических ссылок на листе нет.
Изменено: Verticalx - 18.08.2024 20:24:39
 
Здравствуйте.
Это формула из ячейки С12
Код
=ЕСЛИ(ЕПУСТО(D12);F12;"")

эта в Е12

Код
=ЕСЛИ(ЕПУСТО(D12);C12*(G15*$J$5/$I$5)+(C12*(($K$5+$L$5)*2));D12*(G15*$J$5/$I$5)+(D12*(($K$5+$L$5)*2)))
Если D12 не пустая ячейка, то в С12 будет="", ""- это не число, это текст, и в дальнейшем умножение не на число, а на текстовое значение в формуле выше выдаст ошибку. Поэтому, для исключения ошибки в расчетах, необходимо чтобы результат вычислений выдавал число.
Код
=ЕСЛИ(ЕПУСТО(D12);F12;0)
и проверять при необходимости в ячейках с формулами надо не на пустую ячейку, а на результат находящейся в этой ячейке формулы. Проверки С12 должна быть  ЕПУСТО(С12) заменить на С12=0. А нули в ячейках можно сделать невидимыми с помощью формата или в параметрах Excel.
У меня Excel2016 и в нем нет ЕСЛИМН() по этому как она работает не вникал
 
Здравствуйте.

Благодарю за ответ

Цитата
gling написал:
и в дальнейшем умножение не на число

А мне казалось что в данном контексте знак умножения играл роль логического "И".


Цитата
gling написал:
А нули в ячейках можно сделать невидимыми с помощью формата или в параметрах Excel.

Дело в том что у меня раньше как раз так и было. Но пришлось от этого отказаться, т.к. для других условий такой вариант не подходил.


Можно ли как-то в EXCEL
Код
ЕПУСТО(D29)
и
Код
C12<>""
объединить логическим "И"?
 
Цитата
Verticalx написал:
объединить логическим "И"?
- умножить.
 
Цитата
Hugo написал:
- умножить.

Так уже пробовал. в формуле стоит знак умножения. Но видимо это не подходит. Разный тип данных? Непонятно
 
И() проверяет оба условия на истинность.
Умножение работает аналогично.
И ведь работает в файле.
 
Цитата
Hugo написал:
И() проверяет оба условия на истинность.Умножение работает аналогично.

условие

Код
ЕПУСТО(D29)*ЕПУСТО(С12);D12


не работает. Потому что хоть значение ячейки C12 - пустое, внутри нее есть формула. Видимо, в этом проблема.

Пробовал вводить так:

Код
=ЕСЛИ(ЕПУСТО(D29)И(C12="");Истина;Ложь)


Ругается что это нее формула.
Изменено: Verticalx - 19.08.2024 15:39:55
 
Цитата
Hugo написал:
И ведь работает в файле.

У вас работает? Всмысле
 
Так если там формула - конечно не пусто ))
Проверяйте на "" или что там выводит формула, может " "

Цитата
Verticalx написал:
У вас работает? Всмысле
ну я удалил значения в этих ячейках (сделал пусто, формулы там нет, там 3 и 3 в первом файле) и сработало. Результат 11
Изменено: Hugo - 19.08.2024 15:45:08
 
Вобщем, даже не верится, но получилось. Правильный синтаксис такой:

Код
=ЕСЛИМН(D29<>0;"";ЕПУСТО(D29)*ЕПУСТО(D12);C12;(ЕПУСТО(D29)*И(C12=""));D12)


Hugo спасибо вам! И всем остальным
Изменено: Verticalx - 19.08.2024 15:51:02
 
И() тут вообще никак не нужна, лишняя.
Но смысл всей формулы не понял ))
А вообще вся беда в кириллице! ))
Изменено: Hugo - 19.08.2024 15:54:51
 
Цитата
Hugo написал:
И() тут вообще никак не нужна, лишняя.

Это мне Excel Предложил исправление)

Это часть финансовых вычислений. Нужно заполнять ячейку в зависимости от заполненности других ячеек

Еще раз спасибо за наводку)))
Изменено: Verticalx - 19.08.2024 15:53:36
 
Цитата
Hugo написал:
А вообще вся беда в кириллице! ))

Про кириллицу да, сказали в соседней теме. Была такая беда))
Страницы: 1
Наверх