我有两个 Excel 表格:
当存在值为 ProcessID 的标签时,我想使用 Orders 表中的 OrderID 填充 Process 表中的 OrderID 列。
我正在研究 Excel 数组,因此如果需要,我知道如何将标签更改为类似 {217,218,229,230} 的内容。
在遇到下面答案中提出的解决方案的问题后 - 对于较大的字段大小(标签),我改为按分隔符将标签分成 60 列(这比我需要的多了几列,但您需要自己检查一下,因为 Excel自动值并不总是正确的,或者看起来如此) 然后使用 =LOOKUP(A:A;Orders!$B$1:$BI$1566; Orders!A:A)
如果你有 Microsoft 365,你可以尝试这个(不在这里竞争简短的答案:)
MAP(process_ids, LAMBDA(process_id
MAP(tags_for_order_ids, LAMBDA(tags_for_order_id,
OR(process_id = TRIM(TEXTSPLIT(tags_for_order_id, "|"))
`#NA
删除不匹配 (
TOCOL
C2
),无需填写=LET(
process_ids, TRIM(A2:A9),
tags_for_order_ids, OrderTab!B2:B9,
order_ids, OrderTab!A2:A9,
MAP(
process_ids,
LAMBDA(process_id,
IFERROR(
TOCOL(
IF(
MAP(
tags_for_order_ids,
LAMBDA(tags_for_order_id,
OR(
process_id =
TRIM(TEXTSPLIT(tags_for_order_id, "|"))
)
)
),
order_ids,
NA()
),
3
),
"no match"
)
)
)
)