可排序/可过滤Excel表中的双向查询

问题描述

我希望在Excel表格中返回给定行和列的交集,表格的排序/过滤器将在那里更改。

我发现了很多关于如何在静态Excel 2D数组/表中进行双向查找的资源,这些方法永远不会改变顺序,但是在引用一个给定行和列的这些交集时遇到麻烦将由用户过滤和排序的表格。过滤器和排序正在改变单元格的位置,破坏了我的引用。

理想情况下,解决方案应如下所示:

=INDEX(TABLE,MATCH("PRODUCT",A:A,0),MATCH("COMPANY",$1:$1,0))

或者类似的东西

=TABLE[[#Data],[PRODUCT] TABLE[[#All],[COMPANY]]

我的环境是一个表,其中最左边的列是产品列表,最上面的行是列出公司名称的列标题。相交处的像元值是每个公司的产品数量

提前谢谢您的帮助!


编辑:这是一个视觉示例,

PRODUCTS    COMPANY A   COMPANY B
PRODUCT #1  1           2
PRODUCT #2  3           1

引用“ COMBANY B”,“ PRODUCT#1”将返回2-关键是引用没有被过滤或排序的表所破坏。

解决方法

如果选择相邻的单元格,第一个公式将起作用。

=INDEX(TABLE,MATCH("PRODUCT",A:A,0)-1,MATCH("COMPANY",$1:$1,0))

稍后再访问,它正在选择想要使用的单元格。奇怪的。为什么不积极,但似乎没有人真正在这里看看。 / r / Excel的人们理解了,尽管对其为什么选择低于预期的单元格没有任何想法。