如何制作跳过某些行(重复行)的 VSTACK 函数

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

我必须合并两个不同表(表 1 和表 2)中的行。

enter image description here

但是,挑战在于我更改了单独表(编辑表)中某些行的某些方式。而且,“编辑的表格”不包含相同的列。

enter image description here

所以我需要一个结合“表1”和“表2”的函数,但同时跳过“编辑表”中列出的行,并从“编辑表”返回这些行。此外,我需要在不同列中填写正确的值以获得正确的 ID。

真实 ID 由数字和字母组成 - 在少数情况下还包括符号。

导出表应如下所示:
enter image description here

我尝试使用以下功能,其中应该是“删除”部分,但根本不起作用。

=IF(COUNTA(DY6:DY12)<=2; VSTACK(FILTER(DK5:DK15; (DK5:DK15<>"")*(DK5:DK15<>DK5)*(ISERROR(MATCH(DK5:DK15; DY6:DY12; )))); FILTER(DK18:DK23; (DK18:DK23<>"")*(DK18:DK23<>DK18)*(ISERROR(MATCH(DK18:DK23; DY6:DY12; ))))); VSTACK(FILTER(DK5:DK15; (DK5:DK15<>"")*(DK5:DK15<>DK5)*(ISERROR(MATCH(DK5:DK15; DY6:DY12; )))); FILTER(DK18:DK23; (DK18:DK23<>"")*(DK18:DK23<>DK18)*(ISERROR(MATCH(DK18:DK23; DY6:DY12; )))); FILTER(DY6:DY12; (DY6:DY12<>"")*(DY6:DY12<>DY6)*(DY6:DY12<>DY6))))

excel excel-formula vstack
1个回答
0
投票

以下应该适合您:

=LET(
    original_tables; VSTACK(DK6:DW14; DK19:DW22);
    ids; INDEX(original_tables; ; 1);
    edited_table; HSTACK(DY7:EB11; ED7:EI11);
    edited_ids; INDEX(edited_table; ; 1);
    included; ISERROR(XMATCH(ids; edited_ids; 0; 1));
    filtered_original_table; FILTER(original_tables; included; "");
    VSTACK(filtered_original_table; edited_table)
)

VSTACK(DK6:DW14; DK19:DW22)
结合了 table1 和 table2。

ISERROR(XMATCH(ids; edited_ids; 0; 1)
检查哪些 ID 未包含在“编辑表”中。

FILTER(original_tables; included; "")
过滤掉“已编辑表”中的 ID

VSTACK(filtered_original_table; edited_table)
合并了过滤后的表1+表2 和编辑后的表。

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