可以在数组公式中的数组上使用单单元格公式吗?

时间:2018-07-19 12:39:12

标签: excel excel-formula array-formulas

这是下一个问题,基于“ How to use AverageIf worksheet function for calculating average date differences (in case date is filled in)”:

现在我的老板想知道,想象一下用TODAY()替换空单元格,这对平均值或最大值有什么影响。

我正在尝试使用以下公式:

{=AVERAGE(IF(ISBLANK(All_First_Answered_Dates);TODAY()))}
// mind the curly brackets, I'm working with array formulas here.

因此,我得到了今天的日期,我认为这意味着:
正如Excel所看到的那样,在上述范围内的某个地方有空白单元格,他用TODAY()替换了该范围内的每个单元格(包括非空单元格),显然,今天整个列表的平均值等于今天: -)

如果我不使用数组公式,则结果等于0。
这很有意义:名称All_First_Answered_Dates是一个单元格范围,Excel仅在使用数组公式的情况下才可以使用。否则,它不会被识别,因此它不是空白,IF()公式得出FALSE,而FALSE的平均值为0

基本上,问题是由公式ISBLANK(All_First_Answered_Dates;TODAY()'))引起的,在该公式中,我在整个范围TODAY()上应用了一个单元格公式All_First_Answered_Dates,所有这些都放在数组公式中。

那有可能吗?

1 个答案:

答案 0 :(得分:1)

是的,这是可能的,但是您需要使用False-条件才能返回您正在评估的相同范围,即:

{=AVERAGE(IF(ISBLANK(All_First_Answered_Dates);TODAY();All_First_Answered_Dates))}

进一步说明:对于该范围内的每个单元格,将评估该单元格是否为空(空白)。如果是,则返回一个TODAY()值。但是,如果它不为空,则会返回一个空白(“”),因为这就是Else标准的含义。相反,如果您的Else条件是相同范围,则您将返回该范围内的单元格,然后将其用于AVERAGE函数