gpt4 book ai didi

excel - 在excel中识别行或列的添加或删除

转载 作者:行者123 更新时间:2023-12-04 20:52:34 25 4
gpt4 key购买 nike

我正在寻找一种能够识别 excel 文件中的任何行或列添加或删除的解决方案。

我现在使用 所想到的生命周期 即“最长公共(public)子序列”算法我可以找出两个版本的 excel 文件之间的公共(public)子序列,但这种方法不是 100% 正确的。

例如

Excel 版本 1

 1 2 4 5 9 3
4 9 3 7 5 3
8 2 7 9 3 8
9 7 2 8 2 4

更新后,我删除了 1 行(第 2 行)并添加了 1 行(在同一位置,即第 2 行)。

Excel 版本 2
 1 2 4 5 9 3
4 9 5 7 5 3
8 2 7 9 3 8
9 7 2 8 2 4

除了 1 个单元格项目外,添加的行几乎相似。在这种情况下,LCS 将不起作用,因为它的大多数单元格项目都是相似的,并且我无法识别首先删除了行并添加了新行。

最佳答案

这是一个建议的“比较”算法:

  • 标记每一行(行),在原始文件+新文件
  • (a) 找到等效的行并匹配它们 (b) 标记它。
  • (a) 找到新的行 (b) 标记它。


  • 示例执行:

    假设这两个数据都位于每个文件的 A1:F4 中。在这两个文件中添加执行 [1] 的新列。
    In Sheet1 & Sheet2 : 

    in H1 put =ROW()
    in I1 put =A1&","&B1&","&C1&","&D1&","&E1&","&F1
    in J1 put =H1&" - "&I1

    全部向下拖动。

    因此对于 [2] 使用第三个 excel 文件(或新工作表),比较“内容”和“内容行号”列。由于我使用 Sheet1 作为原始文件和 Sheet2 作为新文件,我的公式如下。
    In Sheet3 : 
    in B1 label "row number"
    in C1 label "content InOriginal"
    in D1 label "RomNum&content InOriginal"
    in E1 label "content NewFile"
    in F1 label "RomNum&content NewFile"
    in H1 label "content match"
    in I1 label "content & rowNumber match"

    Then,

    in B2 put "=Sheet1!H1"
    in C2 put "=Sheet1!I1"
    in D2 put "=Sheet1!J1"
    in E2 put "=Sheet2!I1"
    in F2 put "=Sheet2!J1"
    in H2 put "=EXACT(C2,E2)"
    in I2 put "=EXACT(D2,F2)"

    并向下拖动。

    TRUE/FALSE 结果是(基本)比较的结果。如果您需要进行更多分析,您可以继续修改/添加所需的公式。

    希望能帮助到你。 ( :

    示例文件是 here .

    关于excel - 在excel中识别行或列的添加或删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54899111/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com