EXCEL 问题 -> 根据标题搜索正确列的函数,如果它们与列表中列出的值匹配,则返回特定单元格

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

我正在处理一个相对较大的数据集,该数据集已从 MIKE+ 中提取并存入 Excel 中。真正的数据集是关于管道的,我需要返回所有材质相同的管道。

但是,列的显示顺序可能会发生变化,表格中空白列的随机出现也是如此。

因此,我需要一个函数,可以根据其自身列的标题在原始数据中搜索相关列,然后从该列中提取所有单元格,这些单元格出现在配置列表中。

我在下面制作了简化的表格。

原始数据

A B C
1 身份证 数量 放置
2 1 a
3 2 b
4 3 c
5 4 d

但它也可能是这样的

A B C
1 数量 身份证 放置
2 3 c
3 4 d
4 1 a
5 2 b

ID配置

D
1 放置
2 b
3 d

我想要的 A 列结果

A
1 ID
2
3

我已经成功编写了一个ID函数,它根据配置列表找到正确的ID,但是这个函数只有在我指定正确的列时才起作用:

=FILTER(A$1:A$18; ISNUMBER(MATCH(C$1:C$18; D$2:D$9; 0)))

移动,我有一个用于“数字”和“位置”列的函数,它可以根据标题找到正确的单元格。然而,这并没有考虑配置列表,而是考虑 ID 值,对于这两列来说,这正是它应该做的:

=IFERROR(
    XLOOKUP(
        AH2#;
        INDEX(AC1:AE7; 0; MATCH($AH$1; AC1:AE1; 0));
        INDEX(AC1:AE7; 0; MATCH(AK$1; AC1:AE1; 0))
    );
    ""
)

我无法将这两个函数结合起来,因此我的第一列(ID 列)可以从原始表中具有相同标题的列生成,并且返回的单元格也是那些也出现在配置上的单元格列表。

该函数不能是下拉函数、VBA 函数或需要复制+粘贴步骤。

希望你能帮助我修复第一列的函数,我可以在此基础上构建其他列中的所有函数。

excel excel-formula dynamic-arrays
1个回答
0
投票

可能是我错了,但这不应该对你的目标有用吗:


=VLOOKUP(E2:E3,CHOOSECOLS(A2:C5,XMATCH(E1:F1,A1:C1)),2,0)

当列放置不同时:


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