Excel:查找行和列的交集

时间:2013-08-23 07:24:20

标签: excel row formula

我的问题是如何找到特定列和行号的交叉单元格?

我的情况是这样的:通过一些计算,我找到两个单元格,让我们说 B6 E1 。我知道我需要第一行的一行和第二行的一行。所以我可以使用 ROW COLUMN 函数来获取数字。在那之后,我需要找到一个相交的单元格。在这个例子中,这将是 E6

我只想使用 INDEX(A1:Z100; ROW; COLUMN),但我不知道我需要的确切区域 - 这取决于其他东西。我可以使用像 A1:XFG65000 这样的东西,但这太蹩脚了。我也可以使用 INDIRECT(ADDRESS())的组合,但是我从已关闭的工作簿中提取数据,因此 INDIRECT 将无效。

如果这有助于了解这一切是什么 - 这是一个具体的例子: 我需要找到我将使用的工作表的一部分的限制。我知道它从列 B 开始,一直向下到此列中的最后一个非空单元格。此范围以最后一列结尾,该列在第一行中具有任何值。所以要定义它 - 我需要找到最后一列和最后一行的交集,其中B列中的值。 我使用这个数组公式来查找最后一列:

INDEX(1:1; MAX((1:1·;> “中”)*(COLUMN(1:1))))

这个数组公式找到最后一行:

INDEX(B:B; MAX((B:B<> “中”)*(ROW(B:B)))

最后一列产生 E1 ,最后一行产生 B6 。现在我需要将我的范围定义为 B1:E6 ,如何将 E6 全部放入生成的公式中?我已经考虑了一段时间而不是和Excel专家 - 我无法想出任何东西。所以任何帮助都会非常感激。谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用索引/匹配组合并使用匹配来查找相关单元格。对该行使用一个Match(),对该列使用一个Match()。

索引/匹配函数,用于查找工作表中的最后一个单元格

  • 列B是最左边的表格列
  • 第1行是最顶层的表格行
  • B列和第1行中的数据可以是文本和数字的混合
  • B列和第1行可能有空单元格
  • B列中最后一个填充的单元格标记表格的最后一行
  • 第1行中最后一个填充的单元格标记表格的最后一列

使用这些前提,以下内容将返回正确的结果,在Sum()中使用A1作为起始单元格,使用Index返回范围的右下角单元格:

=SUM(A1:INDEX(1:1048576,MAX(IFERROR(MATCH(99^99,B:B,1),0),IFERROR(MATCH("zzzz",B:B,1),0)),MAX(IFERROR(MATCH(99^99,1:1,1),0),IFERROR(MATCH("zzzz",1:1,1),0))))

由于您似乎位于使用分号作为列表分隔符的系统上,因此以下是带分号的公式:

=SUM(A1:INDEX(1:1048576;MAX(IFERROR(MATCH(99^99;B:B;1);0);IFERROR(MATCH("zzzz";B:B;1);0));MAX(IFERROR(MATCH(99^99;1:1;1);0);IFERROR(MATCH("zzzz";1:1;1);0))))

答案 1 :(得分:0)

Offset似乎是要走的路

=OFFSET($A$1,ROW(CELL1)-1,COLUMN(CELL2)-1)

(需要 -1 ,因为我们在A1中已经有1列和1行)

在您的示例中,=OFFSET($A$1,ROW(B6)-1,COLUMN(E1)-1)会给出E6中的值

如果您想要位置,还有ADDRESSS=ADDRESS(ROW(B6),COLUMN(E1))给出答案 $ E $ 6