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它对我有效,没有问题。如果你的数据有错误,那么它将不起作用。想看看我做错了什么吗?我上传到了文档中。你在使用谷歌表单吗?同样,我对公式没有问题。你是在拖它来填充吗?