You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel公式修改需求:相邻列值为1时跳过当前行查看下一行

解决Mac版Excel 2016中跳过特定行比对Dot后数字的问题

问题场景

原Z列公式用于比对D列相邻行中“Dot”后的数字是否相同,但当D列某行值为“115”时(Y列通过=IF(ISNUMBER(FIND("115"; Dn)); 1; 0)标记为1),需要跳过该行,直接比对前后有效行的Dot数字(例如D116=Dot7、D117=115、D118=Dot7时,需比对D116和D118)。

适配Mac Excel 2016的解决方案

由于Mac Excel 2016不支持XLOOKUP等新函数,我们采用传统函数组合实现需求,提供两种方案:

方案1:直接使用复合公式(无需额外辅助列)

在Z列目标单元格(以Z117为例)输入以下公式,下拉填充适配所有行:

=IF(
    Y117=1;
    IF(
        IFERROR(MID(D116;FIND("Dot";D116)+3;LEN(D116)-FIND("Dot";D116)-2);"")=IFERROR(MID(D118;FIND("Dot";D118)+3;LEN(D118)-FIND("Dot";D118)-2);"");
        "Same";
        "Different"
    );
    IF(
        Y116=1;
        IF(
            IFERROR(MID(D115;FIND("Dot";D115)+3;LEN(D115)-FIND("Dot";D115)-2);"")=IFERROR(MID(D117;FIND("Dot";D117)+3;LEN(D117)-FIND("Dot";D117)-2);"");
            "Same";
            "Different"
        );
        IF(
            IFERROR(MID(D116;FIND("Dot";D116)+3;LEN(D116)-FIND("Dot";D116)-2);"")=IFERROR(MID(D117;FIND("Dot";D117)+3;LEN(D117)-FIND("Dot";D117)-2);"");
            "Same";
            "Different"
        )
    )
)

公式逻辑说明

  • 第一层判断:若当前行Y列值为1(Dn是115),则直接比对**上一行(Dn-1)和下一行(Dn+1)**的Dot数字。
  • 第二层判断:若当前行Y列不为1,但上一行Y列值为1(Dn-1是115),则比对**上上行(Dn-2)和当前行(Dn)**的Dot数字。
  • 默认逻辑:无115行干扰时,执行原比对逻辑,对比**上一行(Dn-1)和当前行(Dn)**的Dot数字。
  • 所有提取操作包裹IFERROR,避免因单元格不含"Dot"导致公式报错。

方案2:新增辅助列简化公式(更易维护)

  1. 新增提取Dot数字的辅助列:在空白列(如X列)的X117单元格输入以下公式,下拉填充:

    =IFERROR(MID(D117;FIND("Dot";D117)+3;LEN(D117)-FIND("Dot";D117)-2);"")
    

    该公式负责提取D列单元格中“Dot”后的数字,若单元格不含"Dot"则返回空值。

  2. 简化Z列比对公式:在Z117单元格输入以下公式,下拉填充:

    =IF(
        Y117=1;
        IF(X116=X118;"Same";"Different");
        IF(
            Y116=1;
            IF(X115=X117;"Same";"Different");
            IF(X116=X117;"Same";"Different")
        )
    )
    

    此方案通过辅助列分离提取逻辑,大幅简化比对公式,降低出错概率。

内容的提问来源于stack exchange,提问作者Annelies

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 01:12:12