Excel-如何从具有第 N 个最大“度量值”的数据集中返回“维度值”

Excel-如何从具有第 N 个最大“度量值”的数据集中返回“维度值”

我正在寻找一种方法,当特定文本在同一行上找到的对应值是最大或第二大时,返回该文本。我在网上找到了一些解决方案,它们可以回答部分问题,但不能回答所有问题。

例如,如果数据集中没有行内重复的文本,则 max/if 公式和某些 vlookup 组合将会起作用,因此值无法正确相加。

我的数据集如下所示:

1

我本质上是在尝试在不进行旋转的情况下获取特定值;我想要一个公式来:

  • 扫描维度 1 中的短语“The first”(因此省略“The second”)
  • 将层次结构中维度 2 上的所有“值”数字相加。这意味着所有值都将加到维度 2 的“测试 1”或“测试 2”标签中
  • 返回具有最高值的标签(请注意,我关注的是文本,因此是“测试 1”或“测试 2” - 以最高值为准,而不是值)

这是将返回的值(因为“测试 1”在“第一”组中具有最多的值):

2

答案1

粘贴以下内容:

=INDEX( $D$1:$D$100, MATCH( MAX( ($C$1:$C$100=$A$1)*SUMIFS( $F$1:$F$100, $C$1:$C$100, $C$1:$C$100, $D$1:$D$100, $D$1:$D$100)), ($C$1:$C$100=$A$1)*SUMIFS( $F$1:$F$100, $C$1:$C$100, $C$1:$C$100, $D$1:$D$100, $D$1:$D$100), 0))

进行以下编辑:
如果MAX已经计算(样本包含价值总和),将MATCHlookup_value 参数替换
MAX( ($C$1:$C$100=$A$1)*SUMIFS( $F$1:$F$100, $C$1:$C$100, $C$1:$C$100, $D$1:$D$100, $D$1:$D$100))为该
单元格的地址(例如单元格地址79180在样本中)。
$C$1:$C$100维度 1数据范围。
$D$1:$D$100维度 2数据范围。
$F$1:$F$100价值数据范围。
$A$1 单元格地址,其中值为维度 1正在计算(例如,结果表行标题单元格包含“首先”)。

Ctrl- Shift-Enter使其成为数组公式。

获得第二高维度 2,使用相同的公式,并在MAX函数中将最高值清零维度 2使用的值(当出现平局时,($D$1:$D$100<>[cell_address_of_above_pasted_formula])*也将其添加到第二个参数中的归零中以获取另一个最大值)。所以变成。与以前一样,如果已经计算出第二高值,则不要使用前面提到的替换,而是使用对具有第二大值的单元格的引用。INDEX($C$1:$C$100=$A$1)*SUMIFS...($D$1:$D$100<>[cell_address_of_above_pasted_formula])*($C$1:$C$100=$A$1)*SUMIFS...MAX

相关内容