Excel,在索引函数中匹配数组

问题描述 投票:0回答:1

这里的目标是让反向索引匹配函数根据过滤函数生成的结果数组返回列/行标题。

原始数据集(=RANDARRAY(12,5,1,100,TRUE))

过滤数据集 =FILTER($E$48:$I$59,(($E$47:$I$47>=2019)*($E$47:$I$47<=2021)))

第二张图片中突出显示的列标题是我试图通过将从过滤器函数返回的数组与原始数组相匹配来动态生成的。

我认为索引函数可能会起作用,可能在匹配函数中添加一个附加索引,以便处理我试图通过搜索的二维数组,但我无法让它工作。

我还尝试了一个 iferror find 函数,它(通过溢出)为预期列返回 1,但我正在努力解决如何使用它来将其识别为列“2019”而不使用辅助列(我试图避免这种情况)。

IFERROR(查找())

这是我想要实现的目标的更清晰的图像。 使用通过“filer()”函数生成的一维数组来匹配正确的列,从原始数据表中查找年份标题。 这个 IndexMatch 公式当然行不通,但这是第一次尝试并说明了目标。

如果有人可以提供一些方向、建议或指导,我将不胜感激。

谢谢,

arrays excel filter match index-match
1个回答
0
投票

选择标题之间的列

=LET(data,E47:I59,start,2019,end,2021,
    h,TAKE(data,1),
FILTER(data,(h>=start)*(h<=end)))
=LET(data,E47:I59,start,2019,end,2021,
    h,TAKE(data,1),
    ms,XMATCH(start,h),
    me,XMATCH(end,h)+1,
CHOOSECOLS(data,SEQUENCE(,me-ms,ms)))

© www.soinside.com 2019 - 2024. All rights reserved.