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

如何标记发票编号相同但销售人员ID不同的多条记录?

标记同发票对应不同销售人员的记录方案

我来分享几个不同工具下的实操方法,帮你快速定位这类发票记录:

1. 数据库(SQL)场景

如果数据存在数据库里,用分组筛选或者窗口函数就能轻松搞定:

方法一:分组筛选法

先找出有多名销售人员的发票编号,再关联回原表拿到所有对应记录:

-- 第一步:筛选出符合条件的发票编号
WITH duplicate_invoices AS (
    SELECT InvoiceNumber
    FROM your_table_name
    GROUP BY InvoiceNumber
    HAVING COUNT(DISTINCT SalesPersonID) > 1
)
-- 第二步:关联原表获取所有对应记录
SELECT t.*
FROM your_table_name t
JOIN duplicate_invoices di ON t.InvoiceNumber = di.InvoiceNumber
ORDER BY t.InvoiceNumber, t.SalesPersonID;

方法二:窗口函数标记法

直接在原表添加标记列,直观看到哪些记录属于「同发票多销售」的情况:

SELECT 
    *,
    COUNT(DISTINCT SalesPersonID) OVER (PARTITION BY InvoiceNumber) AS SalesPersonCount,
    CASE 
        WHEN COUNT(DISTINCT SalesPersonID) OVER (PARTITION BY InvoiceNumber) > 1 THEN '是'
        ELSE '否'
    END AS IsMultiSalesPerson
FROM your_table_name;

2. Excel场景

如果是Excel表格数据,用条件格式或者辅助列就能实现:

方法一:条件格式高亮

  1. 选中所有数据行(除表头)
  2. 点击「开始」→「条件格式」→「新建规则」→「使用公式确定要设置格式的单元格」
  3. 输入公式:=COUNTIFS($A:$A,$A2,$B:$B,"<>"&$B2)>0(假设A列是InvoiceNumber,B列是SalesPersonID)
  4. 设置高亮格式(比如黄色填充),确定后符合条件的记录就会被标记出来

方法二:辅助列标记

在空白列(比如C列)输入公式:=IF(COUNTIFS($A:$A,$A2,$B:$B,"<>"&$B2)>0,"多销售","单销售"),下拉填充后就能快速筛选出目标记录。

3. Python Pandas场景

处理大数据量时,用Pandas效率更高:

import pandas as pd

# 读取数据(Excel或CSV都可以)
df = pd.read_excel("your_data.xlsx")

# 统计每个发票对应的销售人员数量
invoice_sales_count = df.groupby("InvoiceNumber")["SalesPersonID"].nunique()

# 筛选出有多名销售人员的发票编号
multi_sales_invoices = invoice_sales_count[invoice_sales_count > 1].index

# 获取所有对应记录并添加标记列
df["IsMultiSalesPerson"] = df["InvoiceNumber"].isin(multi_sales_invoices)
result = df[df["IsMultiSalesPerson"]]

# 输出结果到文件
result.to_excel("marked_invoices.xlsx", index=False)

这些方法都能帮你精准定位目标记录,后续不管是拆分佣金还是数据核对都很方便~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:02:55