Excel:将文本解析为公式

时间:2010-02-16 22:21:42

标签: excel excel-2003 excel-formula

我希望excel公式的一部分是动态的,而不是单元格引用。

例如,假设在A列(单元格A1:A99)中我有一堆数字,我想知道这些数字中有多少大于50。

如果我希望这个计算是静态的,我可以简单地使用以下之一:

=COUNTIF($A$1:$A$99,">50")
=SUM(IF($A$1:$A$99>50,1,0))
=SUM(($A$1:$A$99>50)*1)

我提到这三个因为我的实际配方是毛茸茸的,并且有点混合了第二个和第三个。 (毕竟,也许某些东西适用于COUNTIF而不适用于其他人。)

现在,我希望能够在另一个单元格中输入我的条件(比如C1)。因此,如果我在C1中键入“> 50”,我的计算将如上所述,但如果我输入“< 100”,我将计算A列的条目数小于100。

这可能吗? (我在Windows XP上使用Excel 2003。)

3 个答案:

答案 0 :(得分:1)

我可能会遗漏一些东西。 如果你给

=COUNTIF($A$1:$A$99,C1)

在任何单元格中,然后在单元格C1中键入&gt; 50或<100 你不明白你想要的吗?

答案 1 :(得分:1)

使用INDIRECT

=INDIRECT(COUNTIF($A$1:$A$99,">50"))

相同
=COUNTIF($A$1:$A$99,">50")

但是,正如你所说,前者,你可以在excel细胞内生成!我一直这样做,for such things

答案 2 :(得分:0)

我通常通过添加另一个包含复杂逻辑表达式结果的列来解决这个问题,比如

=AND(OR(C3<D3;E3>=100);A3=VLOOKUP(B3;Sheet2!$A$2:$B$212;2;FALSE))

这个公式在-say-列F的所有行中 - 注意:这里不需要IF!

然后我使用= SUMIF()(如

)计算E列中的复数条件和
=SUMIF(F2:F57;TRUE;E2:E57)

我知道有些用户说“我不想改变我的设计。那没关系;我的论点是我可以更好地控制条件,我可以分别从总结或依赖于其他功能的条件下工作那个条件,我可以过滤TRUE或FALSE记录来查看子集,如果公式有意义,可以快速浏览

希望有助于祝好运MikeD