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,但目的地(放置公式的位置)必须已知。
我需要在我的工作中创建一个 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,但目的地(放置公式的位置)必须已知。