如何在Excel溢出公式中按字符串结尾筛选列值并调整公式
Excel公式修改:筛选F列以“_a”结尾或无下划线后缀的行
需求说明
从Master工作表提取数据到当前工作表,因需在列间保留空白,只能逐列设置公式。需新增筛选规则:仅保留Master表F列中以“_a”结尾或无下划线后缀的行,排除以_b、_c、_d等结尾的行。
原公式
=LET( data; TRIER( FILTRE( CHOISIRCOLS(Master!A233:X10000; 1;6;8;9;13;14;10); (ESTNUM(Master!A233:A10000)) * (JOURSEM(Master!A233:A10000;2)=3) * (MOD(Master!A233:A10000-DATE(2025;7;2);14)=0) * ( (ESTNUM(TROUVER("a"; Master!F233:F10000))) + (NON(ESTNUM(TROUVER(""; Master!F233:F10000)))) > 0 ) ); 1; VRAI ); val; INDEX(data; ;1); SI(val=""; ""; val) )
修改后的公式
=LET( data; TRIER( FILTRE( CHOISIRCOLS(Master!A233:X10000; 1;6;8;9;13;14;10); (ESTNUM(Master!A233:A10000)) * (JOURSEM(Master!A233:A10000;2)=3) * (MOD(Master!A233:A10000-DATE(2025;7;2);14)=0) * ( NON(ESTNUM(TROUVER("_"; Master!F233:F10000))) + (DROITE(Master!F233:F10000;2)="_a") > 0 ) ); 1; VRAI ); val; INDEX(data; ;1); // 可根据列数调整为INDEX(data;;2)、INDEX(data;;3)等 SI(val=""; ""; val) )
修改说明
替换了原公式中针对F列的错误筛选条件,改为两个合规判断的逻辑或:
NON(ESTNUM(TROUVER("_"; Master!F233:F10000))):判断F列单元格不含下划线,即无后缀(DROITE(Master!F233:F10000;2)="_a"):判断F列单元格以"_a"结尾
两个条件满足其一即可保留该行,符合需求。你可根据当前列的对应关系,调整公式末尾INDEX(data;;1)中的列序号(1、2、3...)。
内容的提问来源于stack exchange,提问作者Dhawal Selarka
相关产品推荐
相关产品推荐

