Прошу прощения за то, что набрал на английском. Это достижение переводчика.
Я хочу придумать эту формулу, но не могу.
Значение ячейки A1 является переменным и может быть одним из следующих знаков (=, <=,> =, <,>).
Ячейки A3 и A4 также имеют числовые значения.
Теперь формула, которую я ищу, находится в ячейке A2.

= if (A3 & A1 & A4,1,0)

Таким образом, логический текст может быть одним из следующих:
A3 = A4, A3 A4, A3> = A4, A3 <= A4
Есть ли способ для этой формулы?

1
m.vesali 23 Мар 2020 в 15:34

2 ответа

Лучший ответ

Для этого с формулой нужно сделать все комбинации:

=IF(CHOOSE(MATCH(A1,{"=","<=",">=","<",">"},0),A3=A4, A3<=A4,A3>=A4, A3<A4,A3>A4),1,0)

enter image description here

2
Scott Craner 23 Мар 2020 в 13:14

Нам нужен дополнительный шаг. В A2 введите:

="=if(A3" & A1 & "A4 ,1,0)"

Примере:

enter image description here

К сожалению, A2 - это всего лишь строка, а не формула, но мы можем ее выполнить. В стандартном модуле введите следующую пользовательскую функцию:

Function eval(s As String) As Variant
    Application.Volatile
    eval = Evaluate(s)
End Function

Выберите другую ячейку, скажите B2 и введите:

=eval(A2)

enter image description here

При изменении A1 или A3 или A4 формула строки в A2 будет меняться, а значение в < strong> B2 будет пересчитано.

1
Gary's Student 23 Мар 2020 в 13:09