我有一个像这样的 Microsoft Excel 表格:
A | B | C |
---|---|---|
1 | A | 2023-01-31 |
4 | B | 2023-04-02 |
2 | C | 2023-05-02 |
1 | D | 2023-06-02 |
2 | E | 2023-01-30 |
3 | F | 2023-03-02 |
我创建了一个数据透视表,用于检索 B 列中的值的计数以及 C 列中与 A 列中的每个值匹配的最小值:
A | B 的计数 | C 的最小值 |
---|---|---|
1 | 2 | 2023-01-31 |
2 | 2 | 2023-01-30 |
3 | 1 | 2023-03-02 |
4 | 1 | 2023-04-02 |
总计 | 6 | 2023-01-30 |
我如何添加一个列来检索 B 列中的值(无论哪一个)与 A 和 C 的最小值相匹配。类似:
A | B 的计数 | C 的最小值 | col。 B选 |
---|---|---|---|
1 | 2 | 2023-01-31 | A |
2 | 2 | 2023-01-30 | E |
3 | 1 | 2023-03-02 | F |
4 | 1 | 2023-04-02 | B |
总计 | 6 | 2023-01-30 |
谢谢!
我觉得我需要使用其中一个查找函数,但不确定如何将函数添加到数据透视表,甚至不知道如何将其应用到源表。
尝试以下任何一种方法 --> 使用 NEW MS365 EXCEL FORMULAS 和 POWER QUERY
显示的方法• 单元格中使用的公式 E1
=LET(
a, UNIQUE(A2:A7),
b, COUNTIFS(A2:A7,a),
c, MINIFS(C2:C7,A2:A7,a),
d, MAP(a&"|"&c,LAMBDA(x,XLOOKUP(x,A2:A7&"|"&C2:C7,B2:B7,""))),
e, SORT(HSTACK(a,b,c,d)),
VSTACK({"A","Count of B","Min of C","Col. B Pick"},e,
HSTACK("Grand Total ",SUM(INDEX(e,,2)),MIN(DROP(e,,2)),"")))
也许有一种更优雅的方法可以使用 POWER QUERY 来完成此任务,但是是的,您可以轻松完成此任务。
要使用 POWER QUERY 执行任务,请按照以下步骤操作:
Table1
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"A", Int64.Type}, {"B", type text}, {"C", type date}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"A"}, {{"Count of B", each Table.RowCount(_), Int64.Type}, {"Min of C", each List.Min([C]), type nullable date}, {"Col B. Pick", each _, type table [A=nullable number, B=nullable text, C=nullable date]}}),
#"Expanded Col B. Pick" = Table.ExpandTableColumn(#"Grouped Rows", "Col B. Pick", {"B", "C"}, {"B", "C"}),
#"Sorted Rows" = Table.Sort(#"Expanded Col B. Pick",{{"A", Order.Ascending}, {"C", Order.Ascending}}),
#"Removed Duplicates" = Table.Distinct(#"Sorted Rows", {"A"}),
#"Removed Columns" = Table.RemoveColumns(#"Removed Duplicates",{"C"})
in
#"Removed Columns"
Excel文件下载:这里
无法显示“col.”正如您所说,B 选择',因为 A 值具有多个相关的 B 值。您需要使用像 MIN 这样的聚合函数来仅选择单个值。