【问题标题】:Comparing excel cell pairs in a column for matches or differences in another column比较一列中的 excel 单元格对以查找另一列中的匹配或差异
【发布时间】:2023-03-13 06:24:02
【问题描述】:

我的数据由两列感兴趣,A 和 B。

每个唯一的单元格应具有相同的对应序列号,即KR0146U09A3 的每个条目应具有与B150501388 相同的序列号,我很高兴删除字符串的A08A09 部分.同样KR0146U21A1 条目都有0000a000K2008438a 作为它的序列号。

我很乐意在 excel 中构造 if 语句以进行字符串匹配,但我不明白如何构造 for 循环以循环遍历每个单元格对的列表。

我猜该任务的伪代码是:对于 A 列中的每个唯一单元格,检查 B 列中的相应单元格是否相同。

有人可以告诉我如何在 excel 中编写一个函数来执行此操作吗?

以下是我的数据示例:

Cell        Serial Number
KR0146U09A3 B150501388-A08
KR0146U09A3 B150501388-A09
KR0146U09A3 B150501388-A08
KR0146U09A3 B150501388-A09
KR0146U09B3 B150501395-A08
KR0146U09B3 B150501395-A08
KR0146U09B3 B150501395-A09
KR0146U09B3 B150501395-A09
KR0146U09C3 B150501391-A08
KR0146U09C3 B150501391-A08
KR0146U09C3 B150501391-A09
KR0146U09C3 B150501391-A09
KR0146U21A1 0000a000K2008438a
KR0146U21A1 0000a000K2008438a
KR0146U21A2 0000a000K2008438a
KR0146U21A2 0000a000K2008438a
KR0146U21A3 0000a000K2008438a
KR0146U21A3 0000a000K2008438a
KR0146U21B1 0000a000K2008447a
KR0146U21B1 0000a000K2008447a
KR0146U21B2 0000a000K2008447a
KR0146U21B2 0000a000K2008447a
KR0146U21B3 0000a000K2008447a
KR0146U21B3 0000a000K2008447a
KR0146U21C1 0000a000K2008404a
KR0146U21C1 0000a000K2008404a
KR0146U21C2 0000a000K2008404a
KR0146U21C2 0000a000K2008404a
KR0146U21C3 0000a000K2008404a
KR0146U21C3 0000a000K2008404a

【问题讨论】:

  • 添加一个带有截断序列号的辅助列,然后使用COUNTIFS 获取单元格和截断序列号匹配的位置,并将其与单元格数的COUNTIF 进行比较的类型。如果计数相同,则它们都匹配,否则,它们不匹配。

标签: excel if-statement for-loop


【解决方案1】:

复制您的 Serial Number 列并使用 Text to Columns 和 - 作为分隔符解析复制的列。然后使用Cell 为ROWS 和Distinct Count of Serial Number2 为值旋转数据模型中的所有数据。 1 以外的任何内容都表示Cell 具有多个Serial Number

如果您没有 Distinct Count,请在序列号 2 上方插入一个数据透视表,Cell 位于 ROWS 上方,序列号 2 计数用于 VALUES。为报表布局选择以表格形式显示并且不进行小计。在字段设置中... 对于Cell,不要选中重复项目标签。 Cells 列中的空白应指示关联的序列号对于 Cell 值而言不是唯一的。

【讨论】:

【解决方案2】:

扩展我的评论:添加一个带有截断序列号的辅助列,然后使用 COUNTIFS 获取单元格和截断序列号匹配的位置的计数,并将其与类型的单元格数的 COUNTIF 进行比较。如果计数相同,则它们都匹配,否则,它们不匹配。

公式:

=COUNTIF(Cell,A2)=COUNTIFS(Cell,A2,TruncatedSN,D2)

编辑: 您可以使用此公式进行截断

=IFERROR(LEFT(B2,FIND("-",B2)),B2)

其中CellTruncatedSN 指的是下面这样标记的列。

您可以看到我在哪里更改了B8中的条目,从而导致不匹配:

【讨论】:

    猜你喜欢
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 2022-09-06
    相关资源
    最近更新 更多