如何使用Excel公式定义范围

时间:2018-09-10 13:49:01

标签: excel excel-formula

为了对列中的值的平均值和差异进行一些计算,我基于范围定义了一个名称,但这似乎完全是疯了:

我有一个定义为Header_First _Answer的单元格(D13),其中包含该列的标题,并且我有一个值(当前为69),其中包含条目的数量,称为{{1} }。

我已经将该列的条目定义为另一个名称:“ All_First_Answered_Dates”,定义为Total_Count(从=OFFSET(Header_First_Answer;1;0):OFFSET(Header_First_Answer;Total_Count;0)下的第一个条目开始,最多包含69个条目,并定义了一个范围出于此)。

在单元格Header_First_Answer中,我使用该名称进行一些计算(计算平均值),但这似乎不起作用(存在G5错误)。

罗里(Rory)的第二条评论:#Value公式和第一条公式评估结果:

公式:

G5

第一个评估结果:

=AVERAGE(IF(ISBLANK(All_First_Answered_Dates);TODAY();All_First_Answered_Dates) - All_Start_Dates)

因此,我的结论是

经过一番检查后,我发现这是由于名称“ All_First_Answered_Dates”造成的,该名称似乎被解释了太多次了(或者我该怎么解释):

在不同的单元格中,我输入了公式=AVERAGE(IF(ISBLANK(#Value!);TODAY();All_First_Answered_Dates) - All_Start_Dates) (正是“ All_First_Answered_Dates”的含义),每次使用=OFFSET(Header_First_Answer;1;0):OFFSET(Header_First_Answer;Total_Count;0)功能,我都会看到最后一个结果正确:Evaluate Formula。但是,此后,将进行另一个评估,将该值分别转换为43283(如果在“ J14”中输入了公式),43300(如果将公式在“ J15”中输入),...,以及I在行号小于14的单元格中输入此公式,则错误值为$D$14:$D$82(这说明单元格G5中的错误结果)。

如果我只是将公式#Value放在任何提到的单元格中,则会显示=$D$14:$D$82列中某些单元格的内容(它们是日期,而不是像43283或43300这样的值)。 / p>

将范围声明为D,其中=x:yx是公式结果似乎无效。

有人知道如何将范围定义为公式,然后可以使用该范围来定义名称吗?

我可以想象我的解释很复杂,没有图像,因此附带了屏幕截图。在其中:

  • 单元格J13中有公式y
  • 单元格J14中有相同的公式。
  • 单元格K14中有公式=OFFSET(Header_First_Answer;1;0):OFFSET(Header_First_Answer;Total_Count;0)

Screenshot

出于完成目的,特此提供名称管理器的屏幕快照,其中包含两个提到的名称(在名称管理器中选择的名称):

Name manager screenshot

在第一个评论后编辑:

该范围的概念如下:
1.以=$D$14:$D$82下的第一行为准,不要以其他任何列为准:Header_First_Answer
2.选择OFFSET(Header_First_Answer;1;0)Total_Count的行,不要选择其他任何列:Header_First_Answer
3.根据这两个单元格之间的分号来定义范围。

我不知道OFFSET(Header_First_Answer;Total_Count;0)工作表功能的heightwidth功能。我已经实现了它们,这使得公式更加容易。

不幸的是,问题仍然存在。

预先感谢
多米尼克

1 个答案:

答案 0 :(得分:0)

我刚刚找到了出问题的答案:
该公式应为数组公式。出问题了,在尝试调试时,我不小心将公式重新格式化为普通公式(必须按“ ENTER”而不是“ Ctrl” +“ Shift” +“ ENTER”)。

我重新应用了数组公式(使用“ Ctrl” +“ Shift” +“ ENTER”),得到的公式如下:

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

(注意括号{}

现在一切正常。