我们如何在MS Excel中执行常见的集合操作(​​联合,交集,减号)? [英] How can we perform common set operations (union, intersection, minus) in MS Excel?

查看:156
本文介绍了我们如何在MS Excel中执行常见的集合操作(​​联合,交集,减号)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

例如,我有一个xls:

For example, I have an xls where :

  • 列A具有属性A的项目列表
  • 列B具有属性B的项目列表

我需要以下内容:

  • 列C是A联合B(A和B的唯一项)
  • D列,它是A交集B(A和B的常见项目)
  • 列E为A减去B(A中的项目,但B中的项目除外)
  • 列F等于B减去A(B中的项目,但A中的项目除外)

设置操作似乎很容易.但是如何在xls中执行呢?

Set operations on a list of elements seem to be easy with SQL or Python. But how to do it in xls?

注意:这应该是一种自动化操作,复制粘贴和单击次数最少.例如,我不想将A复制粘贴到B下面,然后消除重复项"以获得A联合B.

Note : It should be an automation with minimal copy-pastes and clicks. For example, I dont want to copy-paste A below B, then "eliminate duplicates" to get A union B.

推荐答案

交叉点(在A和B中):=IFNA(VLOOKUP(B2,$A$2:$B$42,1,FALSE),"")

Intersection (In A & B): =IFNA(VLOOKUP(B2,$A$2:$B$42,1,FALSE),"")

联盟(在A或B中):=IFS(A2,A2,B2,B2)请注意,IFS仅是最新版本(截至2018年).

Union (In A or B): =IFS(A2,A2,B2,B2) Note that IFS is only in recent (as of 2018) versions.

A-B(仅在A中):=IF(NOT(IFNA(MATCH(A2,$B$2:$B$42,0),FALSE)),IF(A2,A2,""),"")

A - B (Only in A): =IF(NOT(IFNA(MATCH(A2,$B$2:$B$42,0),FALSE)),IF(A2,A2,""),"")

B-A(仅在B中):=IF(NOT(IFNA(MATCH(B2,$A$2:$A$42,0),FALSE)),IF(B2,B2,""),"")(交换字母)

B - A (Only in B): =IF(NOT(IFNA(MATCH(B2,$A$2:$A$42,0),FALSE)),IF(B2,B2,""),"") (Swap the letters)

这篇关于我们如何在MS Excel中执行常见的集合操作(​​联合,交集,减号)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆