如何筛选同时包含Visit 2和Visit 4的ID并剔除不符合项(Excel)
解决Excel中筛选同时包含Visit 2和Visit 4的ID问题
原公式的问题
你之前用的公式存在两处错误:
- 把
COUNTIFS误写成了COUNTAIFS; - 第二个
COUNTIFS里的条件A:A,"ID"逻辑错误,应该引用当前行的ID值(如$A2)而非固定文本"ID",且IF函数中AND(...)与"yes"之间缺少逗号。
正确的判断公式
在数据旁插入辅助列(比如E列),在E2单元格输入以下公式后下拉填充:
=IF(AND(COUNTIFS($A:$A,$A2,$B:$B,2)>0,COUNTIFS($A:$A,$A2,$B:$B,4)>0),"yes","no")
该公式会统计当前ID对应的记录中,Visit=2和Visit=4的条目数,两者都存在则返回yes,否则返回no。
剔除不符合条件的ID
方法1:筛选操作
- 选中辅助列,点击Excel顶部的「筛选」按钮;
- 在筛选下拉框中仅勾选
yes,此时显示的就是同时包含Visit 2和4的ID记录; - 可直接复制这些记录到新工作表,或反向勾选
no后选中对应行删除。
方法2:高级筛选
- 新建条件区域,输入如下两行条件(列标题需与原数据一致):
注:两个Visit条件分属不同行,表示需同时满足;ID Visit 2 4 - 选中原数据区域,点击「数据」选项卡中的「高级」筛选;
- 在对话框中设置「条件区域」为新建的条件范围,选择将结果复制到指定位置后确认,即可直接获取符合条件的全部记录。
示例数据验证结果
用你提供的示例数据测试,辅助列结果如下:
| ID | Visit | unique id | Variable | 辅助列结果 |
|---|---|---|---|---|
| 101 | 2 | 101-v2 | 1234 | no |
| 101 | 3 | 101-v3 | 1234 | no |
| 102 | 2 | 102-v2 | 1234 | yes |
| 102 | 4 | 102-v4 | 12234 | yes |
| 103 | 2 | 103-v2 | 12234 | yes |
| 103 | 3 | 103-v3 | 1234 | yes |
| 103 | 4 | 103-v4 | 12234 | yes |
内容的提问来源于stack exchange,提问作者Imène Nemi Boussaada Mork
相关产品推荐
相关产品推荐

