我想在公式中使用作为逻辑运算符(>,≥,<,≤)的单元格的值来计算另一个单元格。
例如基于逻辑运算符的IF语句:
A1: 5
A2: 3
A3: >
A4: 4
A5: =IF((A1-A2) ??A3?? A4;1;0)
我需要更换什么?? A3 ??使这项工作?
答案 0 :(得分:1)
我能想到的唯一方法是为每种类型的比较运算符编码公式。例如,如果您想在以下公式中同时支持<
和>
:
IF((A1-A2) OP A4, 1, 0)
然后您可以包含小于和大于的公式,并根据A3
选择一个公式:
IF(A3="<", IF((A1-A2) < A4, 1, 0), IF(A3=">", IF((A1-A2) > A4, 1, 0), -1))
在上面的公式中,我返回-1
,A3
应该包含我们没想到的运算符(在这个简单示例中不是<
或>
)。
答案 1 :(得分:0)
您可以使用以下公式:
=NOT(ISERROR(FIND(A3, MID("<≤≥>", 2 + SIGN((A1-A2) - A4), 2))))
因此,一般来说,您的公式将如下:
=NOT(ISERROR(FIND(#OPERATOR#, MID("<≤≥>", 2 + SIGN(#OP1# - #OP2#), 2))))
好处是您需要指定仅比较一次的数字(因此,您可以为这些数字设置任意长的公式,而不必担心您重复它)。
这通过映射符号&lt;,≤,≥和&gt;来工作。数字1,2,3,4然后将其与初始数字差异的符号进行比较。