Power Query教程:如何提取同索引行中总价列的最小值
按索引提取最低总价的实现方案
一、Excel/Google Sheets 操作方法
公式直接计算
假设原始数据里Index列在A列,Total Price列在B列:
- 提取唯一索引:在空白列(比如C列)输入
=UNIQUE(A:A)(Excel 365、Google Sheets可用),自动生成不重复的索引列表 - 匹配最低总价:在D2单元格输入
=MINIFS(B:B,A:A,C2),下拉填充D列,就能得到每个索引对应的最低总价
要是用的旧版Excel没有UNIQUE函数,先通过「数据-高级筛选」提取唯一索引,再用数组公式=MIN(IF(A:A=C2,B:B)),输入后按Ctrl+Shift+Enter生效。
数据透视表快速生成
- 选中全部原始数据,插入数据透视表
- 把「Index」拖到行区域,「Total Price」拖到值区域
- 右键点击值区域的「Total Price」,选择「值字段设置」,把汇总方式改成「最小值」
- 调整表格格式,直接得到结果
二、Python 代码处理
如果用Python处理,借助pandas库可以快速完成:
import pandas as pd # 读取你的表格文件(支持csv/xlsx格式) df = pd.read_excel("your_table.xlsx") # 用csv的话换成pd.read_csv # 先处理总价列的格式(如果是带逗号的字符串) df["Total Price"] = df["Total Price"].str.replace(",", "").astype(float) # 按Index分组,取每组总价的最小值 result_df = df.groupby("Index")["Total Price"].min().reset_index() # 输出结果或保存为新文件 print(result_df) result_df.to_excel("min_price_result.xlsx", index=False)
内容的提问来源于stack exchange,提问作者Anushka A
相关产品推荐
相关产品推荐

