使用数组公式同时测试(引用)同一范围内的多个单元格

Posted

技术标签:

【中文标题】使用数组公式同时测试(引用)同一范围内的多个单元格【英文标题】:Simultaneously testing (referencing) more than one cell in the same range while using an array formula 【发布时间】:2015-02-24 23:48:27 【问题描述】:

我正在尝试创建一个数组公式,如果同一范围内的两个不同单元格同时满足两个不同的条件测试,则其中一部分将返回 TRUE。我会解释:

我想建立一个电子表格来跟踪工作日期、时间和工资。我有一列日期,一列工作时间,一列工资率(我工作的所有时间都没有获得相同的工资率)。对于给定的工资期,我想将在给定工资率下的所有工作时间加起来。

有时我在同一天工作多个工作,在这些情况下,我在第一行输入用于该日期的日期,但在下一行输入(用于同一日期的第二个工作)我将“日期”单元格留空。如果我在日期列中的这两个单元格中都有日期,我可以获得我想要使用的总数:

=SUMPRODUCT(Sheet1.$D$1:Sheet1.$D$n>=$Sx; Sheet1.$D$1:Sheet1.$D$n<=$Ex; Sheet1.$R$1:Sheet1.$R$n=dd.dd; Sheet1.$H$1:Sheet1.$H$n) 

(...其中“D”是日期列(在 Sheet1 上,行 1 到 n 的范围),“Sx”是具有支付期开始日期的单元格,“Ex”是具有支付期结束日期,“R”是显示工资率的列,“dd.dd”是我用作搜索条件的一部分的给定工资率(实际数字,在实际公式中),以及“H”是显示工作时间的列。)

显然,我可以在“D”中的所有单元格中填写日期并使用上述公式,但是在同一天工作两份工作的空白单元格中可以更容易地从视觉上挑选出那些日子,所以我希望我能想出一个公式,基本上说“如果正在测试的日期单元格(称为“Dx”)是空白的,并且之前的日期单元格(即“D[x-1]” ) 满足上述搜索条件(即在给定的支付期内),然后返回 TRUE(即 1)”,这样(假设支付率也匹配)该行的小时数将包含在最终总数中。

有没有办法做到这一点?

【问题讨论】:

为什么要把事情复杂化,只要填写所有日期并有条件格式,如果单元格的值等于上面的单元格,则字体颜色为白色。您实际上并不需要单元格为空或空白,根据您的解释,只需要它是通过条件格式实现的“看起来”为空... 【参考方案1】:

我相信我已经找到了自己问题的答案——似乎我可以通过使用第二个范围来测试同一数组公式中的空白单元格和紧邻单元格之前的(标准匹配)在第一个测试中使用的范围之前开始和结束一个单元格的测试。例如:

=SUMPRODUCT(Sheet1.$D$3:Sheet1.$D$300=0; Sheet1.$D$2:Sheet1.$D$299>=$Sx; ...等。

据我所知,这似乎可行。今天早上在解决这个问题后,我突然想到尝试这个的想法......

【讨论】:

以上是关于使用数组公式同时测试(引用)同一范围内的多个单元格的主要内容,如果未能解决你的问题,请参考以下文章

在公式中使用计算单元格引用

如何获得“选择案例以测试范围内的每个单元格?

是否有条件格式化自定义公式,在该公式中,我可以检查两个或多个单元格(来自该范围)是否总和成一个值?

如何显示多个满足特定条件的单元格的内容?

Excel 2010:如何以公式方式计算包含合并单元格的范围内的单元格总数?

使用绝对引用($)锁定Google Spreadsheets中的多个单元格