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

Excel,使用较大值后需要引用左列,excel,excel-formula,excel-2007,Excel,Excel Formula,Excel 2007,我需要在我的工作中创建一张表格,其中一个数据是你一个月内参加过一次邻里活动的人数(社会服务),然后我们需要对这些数据进行连续化,以发现十大最受欢迎的邻居 我所做的: 首先,我使用cont.if来发现我们每个社区的出席人数,这会生成这样一张表: |--------------|--------------| |Neighboorhood |Ocurrences | |--------------|--------------| |N1 |12 |

我需要在我的工作中创建一张表格,其中一个数据是你一个月内参加过一次邻里活动的人数(社会服务),然后我们需要对这些数据进行连续化,以发现十大最受欢迎的邻居

我所做的:

首先,我使用
cont.if
来发现我们每个社区的出席人数,这会生成这样一张表:

|--------------|--------------|
|Neighboorhood |Ocurrences    |
|--------------|--------------|
|N1            |12            |
|N2            |3             |
|N3            |15            |
|...           |...           |
|NX            |xx            |
|--------------|--------------|
|-----------------------------------|--------------------|
|Most Ocurrences                    |                    |
|-----------------------------------|--------------------|
|#NUM!                              |15                  |
|#NUM!                              |12                  |
|...                                |...                 |
等等

但是,我需要在另一张表(一份报告)中对这些数据进行排序,它会自动选择10个最常见的邻居,并自动在表格中显示这些数据(因为它将被对办公服知之甚少的人使用,所以他们只需要列出他们的出席人数,桌子就会自动完成所有的繁重工作),我尝试使用如下公式:

|-----------------------------------|--------------------|
|Most Ocurrences                    |                    |
|-----------------------------------|--------------------|
|=Larger(offset($O2:O$6,0,-1,1,1),1)|=Larger($O$2:$O$6,1)|
|=Larger(offset($O2:O$6,0,-1,1,1),2)|=Larger($O$2:$O$6,2)|
|...                                |...                 |
希望它能展示这样的东西:

|-----------------------------------|--------------------|
|Most Ocurrences                    |                    |
|-----------------------------------|--------------------|
|N3                                 |15                  |
|N1                                 |12                  |
|...                                |...                 |
但它以这样的错误结束:

|--------------|--------------|
|Neighboorhood |Ocurrences    |
|--------------|--------------|
|N1            |12            |
|N2            |3             |
|N3            |15            |
|...           |...           |
|NX            |xx            |
|--------------|--------------|
|-----------------------------------|--------------------|
|Most Ocurrences                    |                    |
|-----------------------------------|--------------------|
|#NUM!                              |15                  |
|#NUM!                              |12                  |
|...                                |...                 |
因为我相信程序考虑的是我想要偏移公式上使用的值,而不是结果,所以它尝试用偏移量计算较大的值,使用数字,但左边的单元格有文本,所以会出现错误。但我需要的是让它计算较大的值,然后拾取左边单元格的值(如果比较容易的话,也可以是对的)从它开始显示,不需要宏就可以完成吗

比如:

第A2列:从最大值的左侧显示单元格的值

B2列:查找最大值

第A3列:显示第二大值左侧单元格的值

第B3列:查找第二大值。 等等

这可能吗?我不想使用宏,因为处理宏的人不知道如何运行宏,这也不可能,因为他们只有libre office,而我们有office


提前感谢!

因此,首先让我们按顺序获取数字:

对大公式稍作修改即可使其可拖动:

=LARGE($O$2:$O$6,ROW(1:1))
这将使您不需要在每个公式中硬编码序列

接下来让我们来了解一下名称:

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

编辑

对于2010年以前的excel,您需要使用以下数组公式:

=INDEX($N:$N,LARGE(IF($O$2:$O$6=B2,ROW($O$2:$O$6)),COUNTIF($B$2:B2,B2)))
作为数组公式,在退出编辑模式时必须使用Ctrl-Shift-Enter而不是Enter进行确认。如果操作正确,Excel将在公式周围放置
{}


这将返回邻居。它还将确保如果B列中有重复的数字,它将找到下一个

它是指在B列中返回的数字


将您的数据放在名为
数据库
的工作表上:

试试看

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

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

谢谢!它对前两个结果很有效,然后它只是重复第一个结果,在这种情况下,NA是最多的一个,然后是NB,NC,ND,NE,它在C,D,E中显示了数量很好,但以它的名字来说,它搞砸了,知道为什么吗?它是这样的:| NA 4 | NB 4 |**NA**3(应该是NC)| NA**2(可能是ND)| |**NA**1(可能是NE)|@Kaikidan它对我有效,没有问题。如果你的数据有错误,那么它将不起作用。想看看我做错了什么吗?我上传到了文档中。你在使用谷歌表单吗?同样,我对公式没有问题。你是在拖它来填充吗?