0

我有一个如下的合同表。

   A   |   B   |   C   | 
-------------------------
   X   |   5   |   7   |
   Y   |   2   |   4   |
   Z   |   1   |   6   |
   Z   |   5   |   8   |
   X   |   3   |   5   |

我想制作第二张桌子。

   A   |   B   |   C   | 
-------------------------
   X   |   3   |   7   |
   Y   |   2   |   4   |
   Z   |   1   |   8   |

第二个表从第一个表的 A 列中获取所有唯一值,然后找到与该唯一值关联的最低 B 列值和最高 C 列值。

使用 INDEX MATCH 感觉像是要走的路,除了第一个表没有按列 B 或 C 排序。

我找到了使用公式对范围进行排序的方法,但不是以我可以传递给 INDEX MATCH 的方式。

任何帮助表示赞赏。

4

3 回答 3

3

就像这里的许多 Excel 问题一样,您无缘无故地试图在这里重新发明轮子。

Excel 已经为此提供了内置功能。让我向您介绍数据透视表的世界


  1. 像这样选择您的表格数据

    在此处输入图像描述

  2. 插入选项卡 -> 数据透视表

    在此处输入图像描述] 2

  3. 将B列和 C列的数据透视字段的值从更改SumMinMax

    在此处输入图像描述在此处输入图像描述


提供预期的结果:

在此处输入图像描述

于 2018-06-27T11:00:11.647 回答
3

您可以使用Power Query(获取和转换数据):

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Grouped Rows" = Table.Group(Source, {"A"}, {{"B", each List.Min([B]), type number}, {"C", each List.Max([C]), type number}})
in
    #"Grouped Rows"

您可以使用数据透视表

字段A输入ROWS字段B输入VALUES(汇总Min) 输入字段CVALUES汇总Max

于 2018-06-27T11:02:12.247 回答
1

一个数组公式和两个标准伪 MINIF/MAXIF 公式。

在 F2:H2 中,

=INDEX(A$2:A$6, MATCH(0, COUNTIFS(F$1:F1, A$2:A$6), 0))   'array formula
=MIN(INDEX(B$2:B$6+(A$2:A$6<>F2)*1E+99, , ))              'MINIFS
=MAX(INDEX(C$2:C$6+(A$2:A$6<>F2)*-1E+99, , ))             'MAXIFS

在此处输入图像描述

于 2018-06-27T11:04:13.583 回答