我正在尝试使用INDEX MATCH MATCH
对角线范围的标题。
因此我可以返回值B5
(当我意识到INDEX
实际上指的是顺序为ROW,COLUMN
(5B
)而不是COLUMN,ROW
(B5
)的单元格时使用:
=INDEX(A1:E5,MATCH(C8,A1:A5,0),MATCH(B8,A1:E1,0))
B5
这将通过将行与值C8
(5) 以及列与值(2) 进行匹配来返回值(5,2) B8
- 并且这是有效的,请参见单元格B10
。
但是当我将范围A1:A5
和替换A1:E1
为时(A1,B2,C3,D4,E5)
:
=INDEX(A1:E5,MATCH(C8,(A1,B2,C3,D4,E5),0),MATCH(B8,(A1,B2,C3,D4,E5),0))
它返回#N/A
(参见单元格B9
)
我对以这种方式使用非连续单元格数组的期望是否太高?还是我应该以其他方式引用它们?
顺便提一下,我没有将对角线转换为标题行和标题列的原因是,我必须对 10 个表格执行此操作,这些表格最终将成为我的源数据,这些数据是从其他软件导出的。这些表格经常更改,每次调整都会花费太多时间。
===========================================================================
编辑
希望新的图像能够更好地展示我想要实现的目标。
因此,在这些图像中,公式从单元格J4
(Sheffield) 和(Leeds) 获取数据,以返回它们在(36)J3
处相交处保存的数据。D6
MATCH
告诉INDEX
在哪里找到选定区域的ROW
和COLUMN
,并且希望公式返回和CELL
交点处的。ROW
COLUMN
当范围是“正常”标题行和列时,此方法有效,但当我尝试使用对角线范围时,它就会失效。我希望它只是计算所选范围内的各个单元格。例如,“Sheffield”出现在范围中的第 5 个单元格中(G6
),而“Leeds”出现在范围中的第 2 个单元格中(D3
)。在我看来,这应该将值返回5,2
给INDEX
函数并返回存储在所选区域第 5 行第 2 列中的值(C2:H7
)。
我希望这能澄清一些事情。
答案1
好的,我要自己回答这个问题。看来我想要做的事情根本无法通过基本工作表函数或创建辅助列来实现。
因此我尝试按照INDEX MATCH MATCH
此处的公式教程进行操作:https://corporatefinanceinstitute.com/resources/excel/study/index-match-formula-excel/但 Excel 显然不允许我引用 中的一组单独的、不连续的单元格MATCH
。因此,我要有创建一个辅助列。
由于我的表格数据的布局方式,“标题”在对角线上,我只需要创建 1 个辅助列来引用行和里面的列INDEX
。
我已经发现二创建所述辅助列的方法。
选项 1(如列所示K
)提取对角矩阵,按照此处的教程操作:https://www.extendoffice.com/documents/excel/2100-excel-extract-diagonal-matrix.html
问题在于它依赖于所需数据处于完美的对角线。
选项 2(列中显示J
)返回最后的行中的非空白单元格,按照此处的说明操作:https://www.extendoffice.com/documents/excel/2104-excel-return-first-last-non-blank-cell-in-row-or-column.html
现在,根据辅助列匹配条件会返回正确的值。