下午好。我想知道这里是否有人可以帮助我解决我无法修复的问题,无法找到在线解决方案。
我有一个电子表格,其中包含两个工作表(主要和数据)和许多VLOOKUP引用,所有这些都基于下拉列表中的选择(单元格D5)。
我感兴趣的部分是关于如何对一些结果数据进行排序。我已经将主要工作表的一部分设置为看起来像一个表,其中包含两列单元格(C8:C20和D8:D20)。单元格C8:C20包含文本(键入,而不是查找文本),单元格D8:D20包含数字,这些数字是数据工作表中的查找编号。我想要C8:C20和D8:D20根据D8:D20中VLOOKUP返回的numerica值进行排序,每当D5中的查找变量发生变化时,这个值当然会改变。
例如:D5显示委员会A. C8:C20中的单元格可以包括坐席议员的隶属关系,D8:D20是隶属于每一方的议员数量。我希望C8:C20到D8:D20能够组织大多数到最少数量的议员:
z = VAR(x, p = 1, type = "const")
y = SVAR(z,Amat = amat,Bmat = NULL)
predict(y)
等等。当D5改为理事会B时,当然D8:D20中的数字会改变,所以我希望结果显示为:
PartyA - 10
PartyB - 8
PartyC - 3
PartyD - 0
PartyE - 0
等
有什么想法吗?如果我不清楚我的难题,请道歉!
答案 0 :(得分:0)
要直接排序配置宏所需的C8:D8
范围,可能是由D5
下拉列表中的更改触发的。
更易于维护的替代方案是创建可视化区域,自动生成排序表。
您可以使用F
中的此公式创建辅助列(在此示例中为F8
):
=COUNTIF($D$8:$D$20;"<="&D8)
,一直延续到数据结束。
这将返回每行的索引。
基于此,您可以使用
G8 =INDEX(C$8:C$20;MATCH(ROW()-7;$F$8:$F$20;0))
和
H8 =INDEX(D$8:D$20;MATCH(ROW()-7;$F$8:$F$20;0))
使用相同的公式填充剩余的行。
我在这里使用INDEX/MATCH
代替VLOOKUP
(你也应该这样做!)。
ROW()-7
返回表格中所需的行。
答案 1 :(得分:0)
您可以创建数据透视表并根据B列设置排序。然后在更改时刷新或在打开表时自动刷新 右键单击数据透视表中的任何单元格 单击“数据透视表选项” 选中“打开文件时刷新数据”
希望有所帮助!