使用Excel表结构化引用根据另一个单元格中的值返回特定单元格

yftpprvb  于 2023-08-08  发布在  其他
关注(0)|答案(2)|浏览(137)

我有一个Excel表格,我们称之为Table 1。有3列,Column 1 Column 2和Column 3。可能有30-50行。我想根据Column 3中的值获取Column 2中的最后一个单元格索引。例如,我正在查找表中Column 3 = A的最后一行。在下面的示例中,这将是单元格11或B5。如果可能的话,我想使用结构化的表引用
| 第2栏|第3列| Column 3 |
| --|--| ------------ |
| 7号牢房|一个| A |
| 8号牢房|B级| B |
| 9号牢房|B级| B |
| 10号牢房|B级| B |
| 11号牢房|一个| A |
| 12号牢房|B级| B |
我尝试创建一个动态命名范围,它将根据column 3中的值进行更新。在这种情况下,范围将是A1:B5。
有人能就如何做到这一点提出一条建议吗?我可以获取任何列的最后一行并生成表的子数组,但不能成功地将Column 3 = B作为修饰符。如果你能帮忙的话,我将不胜感激。
谢啦,谢啦
我以前在基本的Excel公式上使用过INDEX(MATCH()),但无法使它与表数组一起工作

fnatzsnv

fnatzsnv1#

this post中,我发现了如何找到数组的最后一个条目。
我将它与=FILTER()函数结合起来,以过滤值“A”上的行:

=INDEX(FILTER(B1:B7,C1:C7="A","X"),
       COUNTA(FILTER(B1:B7,C1:C7="A","X")),
       0)

字符串
这一切意味着什么?
FILTER(B1:B7,C1:C7="A","X")(顾名思义)过滤范围B1:B7,用于列“C”(C1:C7)中相应条目等于“A”的所有情况。这将产生以下数组:

Cell7
Cell11


现在我们需要获取结果数组的最后一个条目。为了做到这一点,我们需要知道它的长度(因此是=COUNTA()函数)和=INDEX(),如链接文章中所解释的。

tvokkenx

tvokkenx2#

根据值的最后一次出现引用范围

100d1x

的字符串

=LET(tData,Table1,fCols,2,cData,Table1[Column 3],Crit,{"A"},
    fRows,MAX(TOCOL(XMATCH(cData,Crit)
        *ROW(tData)-@ROW(tData)+1,2)),
IFERROR(TAKE(tData,fRows,fCols),""))

个字符

相关问题