1

我想让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。)

4

3 回答 3

1

利用INDIRECT

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

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

但是,正如您所确定的,前者,您可以在 Excel 单元格中生成!我一直这样做,为了这样的事情

于 2010-02-17T12:45:18.003 回答
1

可能有一些我想念的东西。如果你给

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

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

于 2010-02-17T08:38:49.843 回答
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

于 2010-03-09T08:06:09.350 回答