根据一个单元格的引用选择范围

Selecting a range based on the reference of one cell

我有一个 excel 文件。我不想编写任何 VBA 代码,因为我不一定要 运行 一个宏来让进程工作;我希望它在我更改一个单元格(第二个 sheet/photo 上的 "Date" 单元格)时自动更新信息。

所以,基本上我有一个跟踪器,我将使用它来确定在任何给定日期,我向每个公司(上下文中的军事公司)发布了多少任务。这将帮助我了解总体上谁的任务量最少,以及每家公司分配给任务的百分比。我有一个看起来像这样的已发布任务的跟踪器:

我的下一个标签如下所示:

它使用 COUNTIF(COUNTIF(第一个 sheet/photo 当天列中的所有单元格,header、"Company's name" 除外))来确定任何公司在其中有多少任务那天;那是 "RAW" 号。 "PERCENT" 将 "RAW" 数字除以他们在公司的总人数;它已经按需工作。我的目标是在 "Date" 下方的单元格中输入日期,并让 "RAW" 右侧的单元格自动通知我输入的日期。"PERCENT" 已经发挥了它的魔力。

我只是不知道如何让 "RAW" 单元格的公式引用第一个 sheet/photo 日期下的所有单元格,然后在第二个 "Date" 中输入那个日期sheet/photo。我正在考虑一个偏移量,但我不确定如何从另一个单元格的公式中偏移一个范围:A2:1000 如果另一个单元格 [Date] 的公式引用 A1,并将这些 RAW 单元格引用更改为 DC2:1000 如果日期单元格值或引用更改为 DC1。

使用 MATCH 在日期行中查找日期并将其作为 COLUMNS 参数插入到 OFFSET 中,以说明您需要向右移动多少 COLUMNS,以计算所选日期的正确范围.

假设您选择的日期是 Sheet1!D2:

sheet2 中贵公司的任务,日期从 B1 列开始,公司 HHC 跨越行 A2:A7:

您想使用以下方法查找包含所选日期的列:

=MATCH(Sheet1!D2,Sheet2!1:1,0)-1) 'returns 9

减一的调整是日期实际上从 B 列开始,而不是第 1 行的 A。

你知道 HHC 跨度 Sheet2!A2:A7,在这个例子中,你现在知道你想将 9 列移到它的右边来进行计数。

使用 OFFSET 和列参数 (9) 产生范围 J2:J7

OFFSET(Sheet2!A2:A7,,MATCH(Sheet1!D2,Sheet2!1:1,0)-1) 

将此作为源范围插入到您的 COUNTIF 中,以 "HHC" 作为条件:

=COUNTIF(OFFSET(Sheet2!A2:A7,,MATCH(Sheet1!D2,Sheet2!1:1,0)-1),"HHC")

这就是将在 RAW 旁边的单元格 Sheet1!C1 中的公式。

同样的原则也适用于您的其他公司。定义公司的起始范围,使用MATCH确定列数到OFFSET,然后将其全部包装在COUNTIF.

找到匹配项取决于:

  1. 日期出现在搜索范围内;
  2. 两个工作表中的日期具有相同的数据类型(即两个工作表中的日期或两个工作表中的字符串)。