在整个 table 中检查多行的唯一组合
Check multiple rows for a unique combination across a whole table
我正在使用 Excel 2016 并尝试根据所有行和列的值过滤一个简单的 table。
让我们假设以下 table:
ID
Customer
Work
1
Nancy
Inspection
2
Peter
Inspection
3
Peter
Inspection
4
Anna
Inspection
5
Nancy
Tire Change
6
Anna
Inspection
7
Tom
Tire Change
8
Anna
Tire Change
9
Anna
Tire Change
我只想知道只检查过的客户。一旦他们除了检查之外还进行了轮胎更换或仅更换轮胎(如汤姆),则应将其过滤掉。
所以结果应该是这样的:
ID
Customer
Work
2
Peter
Inspection
3
Peter
Inspection
彼得是唯一剩下的人,因为在所有行中他只进行了检查,没有其他检查。
我尝试了多种方法来过滤重复项和不同的逻辑,但如果没有 vlookup 或类似的东西,它似乎无法解决,我不习惯。
嗯,这个有效:
在单元格 F2 中;
=UNIQUE($B:$B)
在单元格 G2 中:
=IF(COUNTIFS($B:$B,F2,$C:$C,"Inspection")-COUNTIFS($B:$B,F2,$C:$C,"Tire Change")>=1,1,"")
在单元格 A15 中:
=IFERROR(INDEX($F:$F,MATCH(B15,$G:$G,0)),"")
在单元格 B15 中:
=IFERROR(LARGE($G:$G,1),"")
随心所欲编辑吧。您可以添加另一个带有 match() 的 index() 来获取 ID...
解构公式将帮助您理解它的工作原理。
如果你有 excel 365(不需要内部人员),你可以使用这个公式(pr 列):
=FILTERXML("<t><s>"&TEXTJOIN("</s><s>",TRUE,IF(COUNTIFS($B2:$B10,$B2:$B10,$C2:$C10,"<>Inspection")=0,A2:A10,""))&"</s></t>","//s")
此公式适用于 A 列,其他列可以向右拖动
我正在使用 Excel 2016 并尝试根据所有行和列的值过滤一个简单的 table。 让我们假设以下 table:
ID | Customer | Work |
---|---|---|
1 | Nancy | Inspection |
2 | Peter | Inspection |
3 | Peter | Inspection |
4 | Anna | Inspection |
5 | Nancy | Tire Change |
6 | Anna | Inspection |
7 | Tom | Tire Change |
8 | Anna | Tire Change |
9 | Anna | Tire Change |
我只想知道只检查过的客户。一旦他们除了检查之外还进行了轮胎更换或仅更换轮胎(如汤姆),则应将其过滤掉。
所以结果应该是这样的:
ID | Customer | Work |
---|---|---|
2 | Peter | Inspection |
3 | Peter | Inspection |
彼得是唯一剩下的人,因为在所有行中他只进行了检查,没有其他检查。
我尝试了多种方法来过滤重复项和不同的逻辑,但如果没有 vlookup 或类似的东西,它似乎无法解决,我不习惯。
嗯,这个有效:
在单元格 F2 中;
=UNIQUE($B:$B)
在单元格 G2 中:
=IF(COUNTIFS($B:$B,F2,$C:$C,"Inspection")-COUNTIFS($B:$B,F2,$C:$C,"Tire Change")>=1,1,"")
在单元格 A15 中:
=IFERROR(INDEX($F:$F,MATCH(B15,$G:$G,0)),"")
在单元格 B15 中:
=IFERROR(LARGE($G:$G,1),"")
随心所欲编辑吧。您可以添加另一个带有 match() 的 index() 来获取 ID...
解构公式将帮助您理解它的工作原理。
如果你有 excel 365(不需要内部人员),你可以使用这个公式(pr 列):
=FILTERXML("<t><s>"&TEXTJOIN("</s><s>",TRUE,IF(COUNTIFS($B2:$B10,$B2:$B10,$C2:$C10,"<>Inspection")=0,A2:A10,""))&"</s></t>","//s")
此公式适用于 A 列,其他列可以向右拖动