如何根据数据透视表中的两个值从源表中检索字段

问题描述 投票:0回答:2

我有一个像这样的 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

谢谢!

我觉得我需要使用其中一个查找函数,但不确定如何将函数添加到数据透视表,甚至不知道如何将其应用到源表。

excel pivot-table
2个回答
0
投票

尝试以下任何一种方法 --> 使用 NEW MS365 EXCEL FORMULASPOWER 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

  • 接下来,从 Data 选项卡 --> 获取和转换数据 --> 获取数据 --> 来自其他来源 --> 空白查询
  • 打开一个空白查询

  • 上面的内容让 Power Query 窗口打开,现在从 Home 选项卡 --> 高级编辑器 --> 通过删除您看到的任何内容来粘贴以下 M-Code,然后按 Done

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 --> 单击 Close & LoadClose & Load To --> 单击的第一个将创建一个具有所需输出的 New Sheet,而后者将提示一个窗口,询问您将结果放在哪里。

Excel文件下载:这里



0
投票

无法显示“col.”正如您所说,B 选择',因为 A 值具有多个相关的 B 值。您需要使用像 MIN 这样的聚合函数来仅选择单个值。

© www.soinside.com 2019 - 2024. All rights reserved.