基于库存可用性实现产品推荐自动切换次优方案的技术咨询
化学品库存与试验方案的智能关联解决方案
核心逻辑
优先选用试验方案中的最优产品,若该产品库存为0(缺货),则自动切换至次优产品;若次优也缺货,再切换至第三优产品;若全部缺货则标记无可用产品。
Excel 实现步骤
1. 编写推荐产品公式
假设:
- 试验方案表:
A列=样本编号,B列=最优产品,C列=次优产品,D列=第三优产品 - 化学品库存表:
A列=产品名称,B列=库存数量
在试验方案表的E列(推荐产品)输入公式:
=IF(VLOOKUP(B2, 库存表!$A:$B, 2, FALSE)>0, B2, IF(VLOOKUP(C2, 库存表!$A:$B, 2, FALSE)>0, C2, IF(VLOOKUP(D2, 库存表!$A:$B, 2, FALSE)>0, D2, "无可用化学品")))
下拉填充至所有样本行,即可自动生成推荐结果。
2. 设置红色高亮(缺货切换标记)
选中E列,添加条件格式:
- 条件规则:
=E2<>B2(推荐产品不等于最优产品时触发) - 格式设置:填充色设为红色,即可高亮显示因最优缺货切换至备选的记录。
数据库(SQL)实现方案
如果数据存储在数据库中,可通过多表关联+CASE语句实现逻辑:
SELECT ts.sample_id AS 样本编号, CASE WHEN cs1.stock_qty > 0 THEN ts.top1_product WHEN cs2.stock_qty > 0 THEN ts.top2_product WHEN cs3.stock_qty > 0 THEN ts.top3_product ELSE '无可用化学品' END AS 推荐产品, -- 可选:添加切换说明字段 CASE WHEN cs1.stock_qty = 0 AND cs2.stock_qty > 0 THEN '最优缺货,切换次优' WHEN cs1.stock_qty = 0 AND cs2.stock_qty = 0 AND cs3.stock_qty > 0 THEN '最优/次优缺货,切换第三优' ELSE '' END AS 切换说明 FROM trial_scheme ts LEFT JOIN chemical_stock cs1 ON ts.top1_product = cs1.product_name LEFT JOIN chemical_stock cs2 ON ts.top2_product = cs2.product_name LEFT JOIN chemical_stock cs3 ON ts.top3_product = cs3.product_name;
查询结果导出后,可在可视化工具(如Excel、Power BI)中对切换说明非空的行设置红色高亮。
内容的提问来源于stack exchange,提问作者Milanor
相关产品推荐
相关产品推荐

