我确信这很简单,但我无法解决。
我有一长串的申请,分类为 0 - 2。
app_id app_sc CAT
1001 Application 1 CAT 0
1001 Application 1 CAT 1
1002 Application 2 CAT 2
1003 Application 3 CAT 0
1004 Application 4 CAT 0
1005 Application 5 CAT 0
1005 Application 5 CAT 1
1005 Application 5 CAT 2
1006 Application 6 CAT 1
1006 Application 6 CAT 2
1007 Application 7 CAT 1
1007 Application 7 CAT 2
1008 Application 8 CAT 1
1009 Application 9 CAT 2
我想创建一个新的列表,通过过滤仅选择具有最低 CAT 值的项目,如果有重复的应用程序名称,则应丢弃具有较高 CAT 值的项目。
上表结果如下:
1001 Application 1 CAT 0
1002 Application 2 CAT 2
1003 Application 3 CAT 0
1004 Application 4 CAT 0
1005 Application 5 CAT 0
1006 Application 6 CAT 1
1007 Application 7 CAT 1
1008 Application 8 CAT 1
1009 Application 9 CAT 2
答案1
据我了解,从你的 OP 来看,你可以使用以下方法之一来实现所需的输出:
• 使用 Excel 公式-->适用于MS365
Beta 频道用户。
=LET(α, GROUPBY(A2:B15,TEXTAFTER(C2:C15," ")/1,MIN,0,0), HSTACK(TAKE(α,,2),"Cat "&DROP(α,,2)))
• 使用POWER QUERY
适用于Excel 2010+
Windows 和 MAC 及以上版本的系统。
- 首先将源范围转换为表格并进行相应命名,在此示例中,我将其命名为
Table_1
- Data接下来,从Tab --> Get & Transform Data--> Get Data--> From Other Sources-->打开一个空白查询Blank Query
- 上面的命令可以Power Query打开窗口,现在从HomeTab --> Advanced Editor--> 删除您看到的任何内容并粘贴以下内容M-Code,然后按Done
let
Source = Excel.CurrentWorkbook(){[Name="Table_1"]}[Content],
#"Grouped Rows" = Table.Group(Source, {"app_id", "app_sc"}, {{"ALL", each List.Min([CAT]), type text}})
in
#"Grouped Rows"
- 最后,将其导回Excel--> 单击Close & Load或Close & Load To--> 第一个单击的将创建一个New Sheet具有所需输出的,而后者将提示一个窗口询问您将结果放在何处。
答案2
按 CAT 排序,挑选您想要的候选人,如有必要,按 app_id 重新排序以恢复原始顺序。您可以执行类似操作来删除重复的申请人。
- 突出显示所有列。
- 从顶部的选项卡中选择“数据”,然后单击“过滤器”图标。
- 现在,每个列标题(第 1 行)都有一个下拉菜单,可让您对其内容进行排序和/或选择,并且所有其他列将保持同步。