比较两列中的数据并相互匹配数字

Posted

技术标签:

【中文标题】比较两列中的数据并相互匹配数字【英文标题】:Compare Data from Two Columns and Match Figures Against Each Other 【发布时间】:2019-04-04 04:52:03 【问题描述】:

我正在尝试比较销售数据中的数据,其中数据集 1(A 列)在数据集 2(B 列)之前出现。通常,这些数据按时间顺序排列,但并排粘贴时并不总是也不会逐行排列。这是因为 A 列只是交易总额,而 B 列包含拆分为产品总额的交易。例如:

Bob 购买了 2 美元的小部件、3 美元的球和 5 美元的棍子。在我看来,数据输入将是 A 列 $10 和 B 列 $2、$3 和 $5。

但是,这些事务并不经常发生,我需要将它们与整个数据集和任何不匹配的数据隔离开来。大多数数据通常具有一对一的事务。例如:

Fred 购买了 5 美元的小部件。 A栏$5 B栏$5。

突出显示匹配的 1 对 1 数字单元格并将赔率填充空白将是最佳选择。

我尝试了一些公式,并且获得了近 90% 的成功率,这很接近,但令人沮丧。基本上只需要一个公式来格式化在两列中具有 1 对 1 唯一匹配的单元格,并突出显示没有伙伴的单元格。也必须按时间顺序完成(所以说 A 列第 112 行不能匹配 B 列第 56 行)。

所以如果有人能帮助我,那就太棒了。我唯一的其他选择是手动分析 10,000 多行。拯救我的互联网!

ps - 抱歉格式化,无法排成一行,因为它认为我在编码。

【问题讨论】:

您将需要超过 2 列来解决这个问题。您需要提供密钥和金额 - 密钥可以是时间戳,也可以是名称(例如 Bill)。您在两组数据中都需要这个,所以 A = Bill,B = 5,C = Bill D = 5。如果你能做到这一点,(并且你的关键数据必须是唯一的),那么你可以正确解决这个问题.如果您有这些信息,我相信我或其他人可以提供解决方案。问题是目前没有办法防止匹配相同值的不适当重复。即使在您的问题中,您也提到了有关日期的内容。 有日期,但 80% 的时间它们没有对齐。 A 列中的数据总是首先出现(其网站数据),然后 b 列是与我们系统交互的网站。有时可能会有延迟,但 80% 的时间是正确的。如果使用日期可以消除仍然有帮助的好块。我有两个日期数据集。一种是白天,另一种是计时到秒,有时在记录到 B 数据时会有延迟。 如果有帮助,数据将按时间顺序排序 99.9%。因此,一个刚刚抓住下一个匹配项的公式可以说 20 行应该可以工作。 看来我们需要使用vba。但首先要提供一个样本。 docs.google.com/spreadsheets/d/… 我没有副本,也无法共享数据本身的副本(机密,失业等)。但我已经准确地重新创建了它的样子,只是多了 30,000 行的图像。 【参考方案1】:

对于 E 列

=INDEX($B$2:$B$100,MATCH($E2,$B$2:$B$100,0))

     A          B       C           D    E
   2 Date       WData   Date        DB   Data   
   3 2/10/2018  1000    2/10/2018   1000 1000
   4 2/10/2018  800     2/10/2018   450  #N/A
   5 2/10/2018  900     2/10/2018   350  #N/A
   6 2/10/2018  850     2/10/2018   900  900
   7 2/10/2018  680     2/10/2018   850  850
   8 2/10/2018  790     2/10/2018   680  680
   9 2/10/2018  645     2/10/2018   790  790

【讨论】:

当我有更多答案时,我会编辑这篇文章:D3、D4 和 B3 是什么意思?你想如何解读 E3 和 E4? B3 将是网站收到的总金额,而 D3 和 4 将是构成该交易的单个产品。我举了一个使用 Bob 的例子。网站数据 (B3) 将显示 10 美元,而 D3、4 和 5 将显示 2 美元、3 美元和 5 美元。错误消息很好,就像它显示#N/A。只是需要一些突出的东西在我滚动时吸引我的注意力。 您可以为 E 列创建条件格式,以便为 #N/A 的行添加 bg 颜色而不是?这对你来说够了吗? 足以让我看到错误。你的表现和我试过的其他一样,几乎完美。不过有两个问题。一个相同的数字将在整个列中出现多次,并且它们必须相互匹配。因此,如果有两个条目,A 列中的 $100 不能同时匹配 B 列 $100。它需要与其中一个相抵触,并使另一个 B 条目不匹配。其次,由于 B 列中的产品拆分,数据变得更加不对齐。所以前 100 行数据在行,100 -200 B 数据降低了大约 30 行,依此类推。

以上是关于比较两列中的数据并相互匹配数字的主要内容,如果未能解决你的问题,请参考以下文章

Excel如何把两列中相同的数据找出,并对应内容排列?

匹配两列中的单元格值,如果匹配,则将另一个值复制到空白单元格

在R中,我如何用regex逐行比较两列中的模式行和不匹配行?

将两列与另外两列匹配

根据两列中的匹配值为日期差异创建条件列

使用 PySpark 连接与另一列中的两列确定的范围相匹配的数据框