问题描述
例如,我有一个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中执行常见的集合操作(联合,交集,减号)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!