EXCEL – 如何find具有特定内容的单元格,然后在另一个公式中引用该CELL(而不是其内容)? (范例内)

理想情况下,我不想深入研究VBA,因为我已经不是EXCEL最伟大的。 这是我的情况,并提前感谢任何人可以帮助!

工作表中第1行的每个单元称为“工作量”,是一个上升date。 所以,A1 = 1/1/2016 – B1 = 1/2/2016 – C1 = 1/3/2016,等等…

在另外一张名为“传奇”的表里,我有这个公式:

=COUNTIF(workload!$A$2:$AE$66,"some text string") 

“工作负载”中有65行实际非标题数据(第2-66行)。 这个公式在A2-AE66的任何单元(我的所有非标题数据)中查找“某些文本string”的所有实例。 实际上,这给了我1/1 / 2016-1 / 31/2016(在该date范围内31个遍历的31个列)的“date范围”(基于上述第1行中的标题)。

我想要做的是有两个其他的单元格,我可以input开始date和结束date。 所以,我正在寻找一种方法来使我的COUNTIF公式如下所示:

 =COUNTIF(workload!$START_DATE_COLUMN$2:$END_DATE_COLUMN$66,"some text string") 

如果这完全是令人困惑的话,如果我在START DATE单元格中input“1/2/2016”,并且在我的END DATE CELL中input“1/15/2016”,一个实际的例子会产生以下效果:

 =COUNTIF(workload!$B$2:$O$66,"some text string") 

(因为列B在其标题行[B2]中具有值“1/2/2016”而列O在其标题行[O2]中具有值“1/15/2016”)

我希望一切都有意义,而且是可能的! 谢谢!

您可以使用几个INDEX / MATCH函数对构build范围。

 =COUNTIF(INDEX(workload!A:ZZ, 2, MATCH(START_DATE_COLUMN, workload!1:1, 0)): INDEX(workload!A:ZZ, MATCH("zzz", workload!A:A), MATCH(END_DATE_COLUMN, workload!1:1, 0)), "some text") 

以上假设您已经创build了命名范围(例如START_DATE_COLUMN和END_DATE_COLUMN)

这个结果为我工作,FYI:

 =COUNTIF(INDIRECT("'workload'!"&ADDRESS(1,MATCH(legend!A1,workload!1:1,0))&":"&ADDRESS(66,MATCH(legend!A2,workload!1:1,0))),"Red")