需要在多列中查找值,每次出现第一个值时返回另一列中的值

问题描述 投票:0回答:1
卡车号码 工作1 工作2 工作3
71 5928 5928 5928
72 3958 5928 2971
73 2971 5928 2971

此表是从我们的每日调度表中自动填写的,用于细分司机的路线。在我的表中,每辆卡车编号占一行,他们完成的每项工作占一列。我需要能够填写一个单独的表,其中作业编号是列标题(这些是永久值)以及下面运行该作业的每辆卡车编号。卡车号码需要按照工作号码出现的次数返回。

对于此示例,该数据集应返回:

2971 3958 5928
72 72 71
73 71
73 71
72
73

这些出现的顺序并不重要,但如果该值出现多次,则必须多次返回卡车号码。

我已经尝试了我能想到的所有查找、匹配和索引公式,但我似乎找不到任何可以搜索多个列来执行我需要的操作的东西,或者,如果确实如此,它也不会多次返回该值。

我对 VBA 选项持开放态度,但在大多数情况下,我的经验仅限于复制/粘贴和清除功能。预先感谢您的帮助!

indexing excel-formula match lookup-tables
1个回答
0
投票

使用动态数组公式:

=LET(
    rng,B2:D4,
    trk,A2:A4,
    title,SORT(UNIQUE(TOROW(rng),TRUE),,,TRUE),
    ptbl,DROP(REDUCE("",title,LAMBDA(z,y,HSTACK(z,TOCOL(IF(rng=y,trk,NA()),3)))),,1),
    tbl,VSTACK(title,ptbl),
    IF(ISERROR(tbl),"",tbl))

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