Построение формулы Excel на основе ссылок на ячейки

Можно ли построить формулу на основе пользовательского ввода, включая логические функции? Например, пользователь может ввести

A1 должно быть <> 1

A1 был бы в ячейке (и я могу использовать косвенный), с <> в соседней ячейке, и полученная формула была бы <> =IF(A1<>1, TRUE , FALSE)<>, но в следующий раз пользователь хочет, чтобы формула была

A1>1

таким образом, ячейка будет иметь A1 (снова используя косвенный для результирующей формулы) и > в соседней ячейке, чтобы привести к > IF(A1>1, TRUE, FALSE)

3 ответа

  1. Вы можете использовать ConvertDataменю from, чтобы разделить содержимое каждой ячейки, используя пустое пространство в качестве разделителя. Вы выбираете L столбец для записи формулы (например, чтобы избежать перекрытия из-за операции разбиения), а затем вы можете собрать свои критерии путем объединения содержимого хороших ячеек для разработки формулы.

    вы можете проверить по CHER(60), CHAR(61) или CHAR (62), Если ячейки содержат соответственно символы»<«, » = » и «>».

    надеюсь, это может помочь !

  2. Я беру следующий пример, с 2 строками:

    1. A1 должен отличаться от one < > 1
    2. A1 должен быть равен или больше, чем
      ноль > 0

    В ячейке B1 у меня будет A1. В следующей ячейке C1 у меня будет «must». В D1 «быть», в E1″ отличаться » и так далее .. В H1 » < > «и у меня есть» 1 » в I1.
    Вторая строка идет поэтому из ячейки B2 в K2, в J2 у меня есть «>» и K2 в «0».
    I введите 5 в ячейку A1 и 0 в ячейку A2.
    В ячейке M1 я набираю эту строку ниже, чтобы получить мою формулу :

     =" = IF(" & "A1" & IF(LEN(C1)>2;"";IF(LEFT(C1;1)="<";C1;IF(LEFT(C1;1)="=";C1;IF(LEFT(C1;1)=">";C1;IF(ISNUMBER(C1);C1;"")))))&IF(LEN(D1)>2;"";IF(LEFT(D1;1)="<";D1;IF(LEFT(D1;1)="=";D1;IF(LEFT(D1;1)=">";D1;IF(ISNUMBER(D1);D1;"")))))&IF(LEN(E1)>2;"";IF(LEFT(E1;1)="<";E1;IF(LEFT(E1;1)="=";E1;IF(LEFT(E1;1)=">";E1;IF(ISNUMBER(E1);E1;"")))))&IF(LEN(F1)>2;"";IF(LEFT(F1;1)="<";F1;IF(LEFT(F1;1)="=";F1;IF(LEFT(F1;1)=">";F1;IF(ISNUMBER(F1);F1;"")))))&IF(LEN(G1)>2;"";IF(LEFT(G1;1)="<";G1;IF(LEFT(G1;1)="=";G1;IF(LEFT(G1;1)=">";G1;IF(ISNUMBER(G1);G1;"")))))&IF(LEN(H1)>2;"";IF(LEFT(H1;1)="<";H1;IF(LEFT(H1;1)="=";H1;IF(LEFT(H1;1)=">";H1;IF(ISNUMBER(H1);H1;"")))))&IF(LEN(I1)>2;"";IF(LEFT(I1;1)="<";I1;IF(LEFT(I1;1)="=";I1;IF(LEFT(I1;1)=">";I1;IF(ISNUMBER(I1);I1;""))))) & IF(LEN(J1)>2;"";IF(LEFT(J1;1)="<";J1;IF(LEFT(J1;1)="=";J1;IF(LEFT(J1;1)=">";J1;IF(ISNUMBER(J1);J1;""))))) & IF(LEN(K1)>2;"";IF(LEFT(K1;1)="<";K1;IF(LEFT(K1;1)="=";K1;IF(LEFT(K1;1)=">";K1;IF(ISNUMBER(K1);K1;""))))) & ";" & TRUE & ";" & FALSE & ")"
    

    Я применяю мою формулу на клетках M2.
    После копирования ячеек M1 и M2 я вставляю значение в N1.
    Я заменяю пустое место в начале моей формулы в N1 и N2 ничем, а затем формула отображает результаты.
    Дайте мне знать, если у вас есть проблемы с этой формулой, потому что я разработал его в Excel French. Я вышлю вам полный файл.