我在Excel中找到列值的问题得到了一些帮助:Find column value Excel
表格如下:
A 17 8,5 5,666666667 4,25 3,4 2,833333333 2,428571429
B 5 2,5 1,666666667 1,25 1 0,833333333 0,714285714
C 5 2,5 1,666666667 1,25 1 0,833333333 0,714285714
G 4 2 1,333333333 1 0,8 0,666666667 0,571428571
我得到的代码基本上是根据最大数值的顺序选择A,B,C和G.最大的值是17,即A的一个点,然后是8,5,这给A另一个点。这很好。
然而,然后来了5.我现在得到B两次而不是第一次B和C(顺序无关紧要,但是当B和C具有相同的值时,我不想得到B的两个点)。如何解决这个问题?
(这个例子说明的真正问题是瑞典多联盟中当地董事会的席位数,其中不同政党的席位数量取决于市议会的席位数。)
修改:公式:=INDEX($J$16:$J$25,AGGREGATE(14,6,ROW($K$16:$W$25)/(K28=$K$16:$W$25),1)-ROW($J$16)+1)
Edit2:通缉结果:
Mandate Party
1 A
2 A
3 A
4 B
5 C
答案 0 :(得分:0)
要通过公式来做到这一点,我认为一个简单的方法是
unique rank
公式应用于该数据VLOOKUP
返回排名1-n
以下公式和定义的名称将非常有用
origTbl =Sheet2!$A$1:$H$4
unpivotTbl =Sheet2!$A$8:$C$35
A8 =RANK(C8,$C$8:$C$35,0)+COUNTIF($C$8:C8,C8)-1
B8 =INDEX(origTbl,INT((ROWS($1:1)-1)/7)+1,1)
C8 =INDEX(origTbl,INT((ROWS($1:1)-1)/7)+1,MOD(7+ROWS($1:1)-1,7)+2)
A8:C8
放到行35
在B8
和C8
中的公式中, 7
是origTbl
减去1的列数(例如:{{ 1}})
您在COLUMNS(origTbl)-1
中所做的任何更改都会反映在决赛桌中
对于外观,您当然可以在某处隐藏UnPivot表。
注意:在我的语言环境中,小数点分隔符是点