理想情况下,我不想用这个深入研究VBA,因为我已经不是EXCEL的最佳人选了。这是我的情况,并提前感谢任何可以提供帮助的人!...
名为“工作负荷”的工作表第1行中的每个单元格都是升序日期。因此,A1 = 1/1/2016-B1 = 1/2 / 2016 - C1 = 2016年1月3日等等......
在另一张名为“传奇”的表格中,我有这个公式:
=COUNTIF(workload!$A$2:$AE$66,"some text string")
“工作负载”(第2-66行)中有65行实际非标头数据。此公式在A2-AE66的任何单元格中查找“some text string”的所有实例(我的所有非标题数据)。实际上,这给了我1/1 / 2016-1 / 31/2016的“日期范围”(基于上述第1行中的标题)(31列遍历...在该日期范围内31天)。
我想要做的是在某个地方有两个其他单元格,我可以进入START DATE和END DATE。所以,我正在寻找的方法是将我的COUNTIF公式读成:
=COUNTIF(workload!$START_DATE_COLUMN$2:$END_DATE_COLUMN$66,"some text string")
如果这完全令人困惑,如果我在“START DATE”单元格中输入“1/2/2016”并在“END DATE CELL”中输入“1/15/2016”,则实际示例会产生以下效果:< / p>
=COUNTIF(workload!$B$2:$O$66,"some text string")
(因为列B在其标题行[B2]中的值为“1/2/2016”,而列O在其标题行[O2]中的值为“1/15/2016”)
我希望一切都有意义,而且是可能的!谢谢!
答案 0 :(得分:1)
=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")
以上假设您已创建命名范围(例如START_DATE_COLUMN和END_DATE_COLUMN)
答案 1 :(得分:0)
这最终为我工作,FYI:
=COUNTIF(INDIRECT("'workload'!"&ADDRESS(1,MATCH(legend!A1,workload!1:1,0))&":"&ADDRESS(66,MATCH(legend!A2,workload!1:1,0))),"Red")