Excel:按公式parsing文本

除了单元格引用之外,我希望有一个excel公式的一部分是dynamic的。

例如,假设在列A(单元格A1:A99)中有一堆数字,我想知道这些数字中有多less数字大于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”,我的计算将如上所述,但是如果我input“<100”,我将计算A列中有多less条目less于100。

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

有可能是我错过的东西。 如果你给

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

在任何单元格中,然后在单元格C1中键入> 50或<100是不是你得到了你想要的?

使用INDIRECT

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

和…一样

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

但是,正如你所确定的,前者,你可以在excel的单元格内生成! 我一直这样做, 这样的事情 。

我通常通过添加另一个列来解决这个问题,这个列载有一个复杂的逻辑expression式的结果

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

这个公式是在所有的行列F – 注意:没有IF需要在这里!

那么我使用= SUMIF()like来计算跨列E的复数条件和

 =SUMIF(F2:F57;TRUE;E2:E57) 

我知道一些用户说:“我不想改变我的devise,没关系,我的观点是我可以更好地控制状况,我可以从总结或依赖于这个状况的其他function单独工作,我可以筛选logging为TRUE或FALSE来查看子集,并且如果公式是有意义的,则可以快速概览

希望有所帮助祝你好运MikeD