Excel如何提取指定销售单内的未录入缺失产品?
解决方案:筛选指定销售单未录入的产品
直接在手动录入表的新增列(比如E列)使用以下公式,即可实现属于当前销售单且未被录入的产品筛选:
=TEXTJOIN(", ", TRUE, FILTER('Sales DB'!$C$2:$C, ('Sales DB'!$A$2:$A = $D2) * (COUNTIFS($D$2:$D, 'Sales DB'!$A$2:$A, $B$2:$B, 'Sales DB'!$C$2:$C) = 0), ""))
公式逻辑拆解
- 核心双重条件:
'Sales DB'!$A$2:$A = $D2:锁定当前行选中的销售单,只筛选该销售单下的所有产品COUNTIFS($D$2:$D, 'Sales DB'!$A$2:$A, $B$2:$B, 'Sales DB'!$C$2:$C) = 0:统计手动表中「同一销售单+同一产品」的组合次数,等于0代表该产品未在对应销售单下录入
- TEXTJOIN:将筛选出的产品用逗号分隔合并,
TRUE参数自动忽略空值,最后默认返回空字符串(无未录入产品时显示空白)
注意事项
- 确保
Sales DB的Sale ID与手动表的Sale ID (date)格式完全一致(比如同为文本或数值格式,避免因格式不匹配导致筛选错误) - 若使用旧版Excel(无
FILTER函数),可改用数组公式(输入后按Ctrl+Shift+Enter确认):
=TEXTJOIN(", ", TRUE, INDEX('Sales DB'!$C$2:$C, SMALL(IF(('Sales DB'!$A$2:$A=$D2)(COUNTIFS($D$2:$D,'Sales DB'!$A$2:$A,$B$2:$B,'Sales DB'!$C$2:$C)=0),ROW('Sales DB'!$C$2:$C)-ROW('Sales DB'!$C$2)+1),ROW(INDIRECT("1:"&SUMPRODUCT(('Sales DB'!$A$2:$A=$D2)(COUNTIFS($D$2:$D,'Sales DB'!$A$2:$A,$B$2:$B,'Sales DB'!$C$2:$C)=0))))))
内容的提问来源于stack exchange,提问作者Orphal
相关产品推荐
相关产品推荐

