You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算CMA_ID匹配两表中pops字段的百分比差值

两表匹配CMA_ID计算pops字段百分比差值实现方案

示例数据表截图

需求说明

现有两张数据表,需实现如下计算逻辑:编写适配公式,当两张表的CMA_ID字段值匹配时,自动计算对应记录中pops字段的百分比差值,即表1与表2的CMA_ID匹配时,返回两条匹配记录pops值的百分比差值结果。

分场景实现方案

场景1:Excel/WPS/Google Sheets等电子表格工具

假设表1的CMA_ID在A列、pops值在B列,表2的CMA_ID在A列、pops值在B列,需要在表1新增列输出结果:

  • 通用版本(全版本Excel兼容,百分比差值规则为「(表1pops - 表2pops)/表2pops」,即相对表2数值的变动比例):
=IFERROR((B2-VLOOKUP(A2,Sheet2!A:B,2,FALSE))/VLOOKUP(A2,Sheet2!A:B,2,FALSE),"无匹配CMA_ID")
  • 高版本Excel/365/Google Sheets简化版本(用XLOOKUP替代VLOOKUP,逻辑更易读):
=IFERROR((B2-XLOOKUP(A2,Sheet2!A:A,Sheet2!B:B))/XLOOKUP(A2,Sheet2!A:A,Sheet2!B:B),"无匹配CMA_ID")

公式输入后下拉填充整列,将结果列单元格格式设置为「百分比」即可直接展示百分比结果。如果业务规则要求以表1pops为分母计算差值,把公式里的分母替换为B2即可。

场景2:SQL查询数据库表

假设两张数据库表分别命名为table1、table2,两表均包含CMA_ID、pops字段,直接通过关联查询计算即可:

SELECT 
    t1.CMA_ID,
    t1.pops AS pops_t1,
    t2.pops AS pops_t2,
    -- 计算结果保留2位百分比,可按需调整精度和分母规则
    ROUND((t1.pops - t2.pops)/t2.pops * 100, 2) AS pops_diff_percent
FROM table1 t1
INNER JOIN table2 t2 
ON t1.CMA_ID = t2.CMA_ID;

如果需要保留表1中未匹配到表2的记录,将INNER JOIN替换为LEFT JOIN即可,无匹配记录的差值字段会返回NULL。

提示:如果业务要求计算两个pops值的相对平均偏差,把分母替换为(t1.pops + t2.pops)/2即可适配规则。

内容的提问来源于stack exchange,提问作者seth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 15:27:15