0

Excel爱好者:

在搜索两列之间的比较时显示了许多结果(即:使用 VLOOKUP),但到目前为止我所看到的结果似乎都没有以这种特殊方式满足我的需要:

A 列具有以下值:Z、Q、V、V、T、T

B 列具有以下值:V、T、T、M

C 列将显示 Z、Q、V(这里我们有一个 V,因为一组“V”配对,留下一个未配对的“V”)

D 列将显示 M

到目前为止,我看到的其他示例假设 C 列中没有“V”,因为它已经在 A 列中找到,无论它出现了多少次。

基本上,相反,我需要两列之间的值配对并删除,但留下任何“奇数”。

我一直无法使用公式来解决这个问题 - 我首先对所有内容进行排序,然后将 A 列或 B 列中的单元格向下移动,直到 A 列和 B 列有匹配的值或每行中有一个奇数

提前致谢

编辑:另一种说法:我想从 A 列和 B 列中“消除”成对的值,直到所有对都被删除,在 A 列和 B 列中留下剩余的值

4

1 回答 1

1

让我们假设允许 C/D 中的答案与 A/B 中不匹配的原始答案位于同一行。

这是C1的公式,复制并粘贴下来:

=REPT(A1,
 MAX(0,MIN(1,COUNTIF($A:$A,A1)
 -COUNTIF($B:$B,A1)
 -IF(ROW()=1,0,COUNTIF(OFFSET($C$1,0,0,ROW()-1,1),A1))
 )))

基本上,如果我们在 B 中没有找到匹配的值并且到目前为止我们还没有在 C 中考虑它,我们希望在 A 列中“重复”相应的值。

那里有确保 OFFSET() 不引用零高度范围的逻辑,并且我们在 C 的每一行上重复 0 或 1 次,不多也不少。

D1 的公式类似,但反过来将 B 与 A 进行比较:

=REPT(B1,
 MAX(0,MIN(1,COUNTIF($B:$B,B1)
 -COUNTIF($A:$A,B1)
 -IF(ROW()=1,0,COUNTIF(OFFSET($D$1,0,0,ROW()-1,1),B1))
 )))
于 2012-09-08T21:59:24.997 回答