2016-10-05 55 views
0

有没有什么方法可以基于包括逻辑函数在内的用户输入来构建公式?例如,用户可以输入建立基于单元格引用的Excel公式

A1必须<> 1

A1将在一个小区(和我可以使用一个间接)在相邻小区中,与<>并且将所得式将是= IF(A1 <> 1,TRUE,FALSE),但用户希望下一次式是

A1> 1

所以单元将具有A1(再次使用间接对所得式)和>在相邻小区中以导致IF(A1> 1,TRUE,FALSE)

+0

应始终在比较中使用相同的小区(在此A1)?或者应该像'C23 = 5'一样输入也被处理? – BerndGit

+0

仅比较<,>,=,<>所需的或更复杂的语句? – BerndGit

+0

它将永远是同一个单元格。它实际上会更复杂一点,因为度量标准将被命名,我将使用VLOOKUP来查找该度量标准引用的实际单元值,但为了保持简单,我只是使用A1作为示例。我只需要您列出的四个角色 编辑:为了澄清,用户可能实际上将“<>”放在“收入”旁边的框中,但我将VLOOKUP“收入”指向指向A1的间接在这种情况下 – user2149520

回答

0

一种方式将是对评估每种可能性(<>,=,< =,=)然后使用匹配或查找功能根据用户输入选择正确的答案。

+0

这将是我们要走的路,但我有8个不同的指标和3个标准(“<>”,“<", ">”),所以它将是所有组合的吨公式 – user2149520

+0

度量可以基于动态在间接功能上。您只需要创建一次标准(<>,<, >)列表。 – Reeves

0

您可以使用ConvertData菜单,拆分包含了使用空格分隔符为每个细胞。您器选择L列写公式(例如,以避免重叠,由于拆分操作),然后就可以组装你的准则通过连接好的单元格的内容制定一个公式。

如果单元格分别包含符号“<”,“=”和“>”,则可以通过CHER(60),CHAR(61)或CHAR(62)进行检查。

希望这可以帮助!

+0

我认为这是在某个地方,但我仍然无法获得没有硬键控操作员的评估公式。所以,如果我连接** = A1&CHAR(60)&A2 **(例如),我得到'A1'<'A2',而不是'真'或'假',就像我做** = A1 user2149520

0

我采取以下例子中,用2行:

  1. A1必须从不同的一个<> 1
  2. A1必须等于或大于 零> 0

在细胞B1,我会有A1。在下一个单元格C1中,我将具有“必须”。在D1“是”,在E1“不同”等等。在H1“<>”中,我在I1中有“1”。 因此,第二行从单元格B2到K2,在J2中将“>”和K2设置为“0”。 我在单元格A1中输入5,在单元格A2中输入0。 在细胞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中粘贴By Value。 我在N1和N2公式的开头替换空白处,然后公式显示结果。 让我知道如果你有这个公式的问题,因为我用Excel法语开发它。我会寄给你完整的文件。

相关问题