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

如何在Excel/Google Sheets中为10款产品各随机抽取10条销售样本?

按产品批量随机抽取销售记录的高效方案

当然可以,不管是Google Sheets还是Excel,都有不用手动反复操作的高效方法,能自动为每款产品随机抽取指定数量的样本,以下是具体实现方式:

Google Sheets 操作方法

方法1:自动分组抽样本(推荐)

假设你的销售数据在A:D列,产品名称在B列,直接在空白单元格输入以下公式,就能自动识别所有唯一产品,为每个产品随机选出10条记录:

=ARRAYFORMULA(FLATTEN(QUERY(SPLIT(FLATTEN(IF(SEQUENCE(1,10)<=RANK(RANDARRAY(ROWS(A2:A)), IF(B2:B=UNIQUE(B2:B), RANDARRAY(ROWS(A2:A)), "")), A2:D&"|", "")), "|"), "WHERE Col1 IS NOT NULL")))

公式逻辑:先为每条记录生成随机数,再按产品分组对随机数排名,提取排名前10的记录,最后整理成规整的表格格式。

方法2:分步操作(适合新手理解)

  1. 新增辅助列(比如E列),输入=RANDARRAY(ROWS(A:A)),生成对应所有行的随机值
  2. 用QUERY函数按产品分组筛选,在空白单元格输入:
    =QUERY({A:D, E:E}, "SELECT Col1,Col2,Col3,Col4 ORDER BY Col2, Col5", 1)
    
    排序后,手动按产品分割取前10条,或者结合OFFSET批量提取不同产品的样本。

Excel 操作方法

方法1:函数组合实现

  1. 新增辅助列(比如E列),输入=RAND(),下拉填充所有数据行
  2. 用SORTBY按产品+随机值排序:
    =SORTBY(A:D, B:B, 1, E:E, 1)
    
  3. 批量提取每个产品的前10条,在空白单元格输入以下公式并下拉:
    =INDEX(SORTBY(A:D,B:B,1,E:E,1), (ROW(A1)-1)*10+1, COLUMN(A1))
    
    横向填充到D列,再下拉10行,就能得到第一个产品的10条样本;继续下拉可获取后续产品的样本。

方法2:Power Query 批量处理(大数据量首选)

如果数据量较大,用Power Query更稳定:

  • 选中数据区域,点击「数据」选项卡 → 「从表格/区域」(注意勾选「我的表格有标题」)
  • 在Power Query编辑器中,点击「转换」→「分组依据」:分组列选产品名称,操作选「所有行」,新列名设为「明细数据」
  • 添加自定义列,输入公式:=Table.Sample([明细数据], 10)
  • 点击自定义列右侧的展开按钮,选择所有字段展开,最后点击「关闭并上载」,即可得到每个产品的10条随机样本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 08:36:52