Использование вложенного оператора IF для имитации батареи, но необходимо вычислять фактические значения, а не комментарии - PullRequest
0 голосов
/ 13 июня 2019

Попытка придумать вложенный оператор IF, который работает в заданном пределе (состояние заряда аккумулятора), принимая необходимые входные данные с течением времени.

[Пример листа данных]

Моя попытка сформулировать для операции состояния заряда приведена ниже

= IF(AND(D5+A6-B6>=0.2*$G$1, D5+A6-B6<=0.95*$G$1), D5+A6-B6,0)

= IF(AND(D5+A6-B6<0.2*$G$1), D6= 0.2*$G$1+(D5+A6-B6).


= IF(AND(D5+A6-B6>0.95*$G$1), D6= 0.95*$G$1.


=IF(D5+A6-B6<=0.2*$G$1), 0.2*$G$1+(D5+A6-B6), IF(AND(D5+A6-B6>=0.2*$G$1, D5+A6-B6<=0.95*$G$1), D5+A6-B6,0), IF(D5+A6-B6>=0.95*$G$1), 0.95*$G$1)))

=IF(D5+A6-B6>=0.95*$G$1), 0.95*$G$1, IF(AND(D5+A6-B6>=0.2*$G$1, D5+A6-B6<=0.95*$G$1), D5+A6-B6,0), IF(D5+A6-B6<=0.2*$G$1), 0.2*$G$1+D5+A6-B6)))

Я продолжаю получать ошибки, что мои формулы неверны, пожалуйста, помогите как для состояния заряда, так и для уравнений запасной генерации.

Спасибо

Ниже приведена ссылка на образец листа, который я создал. https://drive.google.com/file/d/1kmhkBybMg18Odrow5jElcEt8RcLXqCFH/view?usp=sharing

1 Ответ

0 голосов
/ 15 июня 2019

Я предполагаю, что значение G1 равно 1 или больше 1. Кроме того, я также предполагаю, что формула предназначена для ячейки E5.Вот предлагаемое решение.

=IF((D5+A6-B6)<(0.2*$G$1),(0.2*$G$1)+(D5+A6-B6),IF((D5+A6-B6)>(0.95*$G$1), (0.95*$G$1), IF(AND((D5+A6-B6)>=(0.2*$G$1), (D5+A6-B6)<=(0.95*$G$1)), (D5+A6-B6),"not in range")))

Вот это же расширенное уравнение (чтобы увидеть логику и последовательность):

=IF((D5+A6-B6)<(0.2*$G$1) , (0.2*$G$1)+(D5+A6-B6),

    IF((D5+A6-B6)>(0.95*$G$1) , (0.95*$G$1),

        IF(AND( (D5+A6-B6)>=(0.2*$G$1),(D5+A6-B6)<=(0.95*$G$1)) , (D5+A6-B6),"not in range"

        )

    )

 )

Пожалуйста, проверьте.

...