Excel,使用较大后需要引用左列

Excel, Need to reference the left column after using larger

我需要在我的工作中创建一个 sheet,其中一个数据是您一个月内在某个社区参加了多少人(社会服务),然后我们需要收集这些数据以发现前 10 个最受欢迎的社区。

我做了什么:

首先,我使用 cont.if 来发现我们在每个社区有多少人出席,这会生成一个 sheet 像这样:

|--------------|--------------|
|Neighboorhood |Ocurrences    |
|--------------|--------------|
|N1            |12            |
|N2            |3             |
|N3            |15            |
|...           |...           |
|NX            |xx            |
|--------------|--------------|

等...

但是我需要在其他 sheet(一个报告)中对这些数据进行排序,它会自动选择出现次数最多的 10 个社区,并自动在 table 中显示这些数据(如它会被对办公套装知之甚少的人使用,所以他们只需要输入他们有多少人出席,table 会自动完成所有繁重的工作),我尝试使用这样的公式:

|-----------------------------------|--------------------|
|Most Ocurrences                    |                    |
|-----------------------------------|--------------------|
|=Larger(offset($O2:O,0,-1,1,1),1)|=Larger($O:$O,1)|
|=Larger(offset($O2:O,0,-1,1,1),2)|=Larger($O:$O,2)|
|...                                |...                 |

希望它会显示这样的内容:

|-----------------------------------|--------------------|
|Most Ocurrences                    |                    |
|-----------------------------------|--------------------|
|N3                                 |15                  |
|N1                                 |12                  |
|...                                |...                 |

但它以这样的错误结束:

|-----------------------------------|--------------------|
|Most Ocurrences                    |                    |
|-----------------------------------|--------------------|
|#NUM!                              |15                  |
|#NUM!                              |12                  |
|...                                |...                 |

因为我相信程序正在考虑我想抵消公式中使用的值,而不是结果,所以它试图用使用数字的偏移量来计算较大的值,但是左边的单元格有文本所以错误。但我需要的是计算较大的值,然后从中提取左侧(或右侧,如果更容易)单元格的值并显示它,可以不用宏吗?

喜欢:

A2列:显示单元格从最大值左边算起的值

B2 列: 求最大值。

A3列:显示从第二大值左边算起的单元格的值

B3 列: 求第二大值。 等...

这可能吗?我不想使用宏,因为处理它的人不知道如何 运行 宏,那也不可能,因为他们只有自由办公室,而我们有办公室。

提前致谢!

所以首先让我们按顺序获取数字:

对您的 LARGE 公式稍作更改即可使其可拖动:

=LARGE($O:$O,ROW(1:1))

这将使您无需在每个公式中对序列进行硬编码。

接下来我们获取名称:

=INDEX($N:$N,AGGREGATE(15,6,ROW($O:$O)/($O:$O=B2),COUNTIF($B:B2,B2)))

编辑

对于 2010 年之前的 excel,您将需要使用此数组公式:

=INDEX($N:$N,LARGE(IF($O:$O=B2,ROW($O:$O)),COUNTIF($B:B2,B2)))

作为数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 而非 Enter 进行确认。如果操作正确,那么 Excel 将在公式周围放置 {}


这将 return 附近。它还将确保如果 B 列中有重复的数字,它会找到下一个。

指的是B列中return的数字


你的数据在一个名为 database 的 sheet 上:

试试,

=index($n2:n, match(large($o2:o, row(1:1)), $o2:o, 0))

为避免重复,您需要使用 COUNTIF,但目的地(放置公式的位置)必须已知。