在excel中,根据一列中另一列的条件对另一列中的非重复值求和

bmvo0sr5  于 2023-02-10  发布在  其他
关注(0)|答案(3)|浏览(262)

我有一个df,其中包括列“country”和“label”,我想根据列“country”中的值对“label”列中的非重复值求和。所需的输出显示在列“final output”中。我尝试了具有2个条件的计数,但这只是对非重复值进行计数。我还尝试了此SUM(IF(FREQUENCY(IF($A$2:$A$12=D2,MATCH($B$2:$B$12,$B$2:$B$12,0)),ROW($B$2:$B$12)-ROW($B$2)+1),$B$2:$B$12)),但它不起作用。我可以使用透视进行此操作,但我更喜欢使用公式进行此操作。有人能帮忙吗?谢谢
| 乡村|标号|最终输出|
| - ------|- ------|- ------|
| 苏格兰|美国汽车协会|第二章|
| 苏格兰|美国汽车协会|第二章|
| 苏格兰|血脑屏障|第二章|
| 西班牙|美国汽车协会|1个|
| 西班牙|美国汽车协会|1个|
| 法国|血脑屏障|三个|
| 法国|美国汽车协会|三个|
| 法国|CCC|三个|

4jb9z9bj

4jb9z9bj1#

使用ms365,您可以尝试:

C2中的公式:

=MAP(A2:A9,LAMBDA(x,ROWS(UNIQUE(FILTER(A2:B9,A2:A9=x)))))
mwngjboj

mwngjboj2#

这个解决方案怎么样?
你计算每个代码在那个国家出现的次数,然后取倒数。
像这样,当你添加它时,你会得到不同值的数量,就像你在这里很容易看到的那样:
| 标准|价值|计数|1/计数|该标准的1/计数之和|
| - ------|- ------|- ------|- ------|- ------|
| 临界值|A类|五个|五分之一|1/5 + 1/5 + 1/5 + 1/5 + 1/5 + 1/3 + 1/3 + 1/3 + 1 = 3|
| 临界值|A类|五个|五分之一||
| 临界值|A类|五个|五分之一||
| 临界值|A类|五个|五分之一||
| 临界值|A类|五个|五分之一||
| 临界值|乙|三个|1/3||
| 临界值|乙|三个|1/3||
| 临界值|乙|三个|1/3||
| 临界值|C级|1个|1个||
因此,您将获得以下屏幕截图:

所用公式:

cell "C2" : =1/COUNTIFS(A$2:A$9,A2,B$2:B$9,B2)
cell "D2" : =SUMIF(A$2:A$9,A2,C$2:C$9)

(我敢打赌有一个方法可以简化这个问题,但我还没有足够的咖啡来找到它:-))
玩得开心

ubby3x7f

ubby3x7f3#

计数唯一

=LET(Countries,A2:A9,Labels,B2:B9,
    uCountries,UNIQUE(Countries),
    uFinals,BYROW(uCountries,LAMBDA(uCountry,
        ROWS(UNIQUE(FILTER(Labels,Countries=uCountry))))),
INDEX(uFinals,XMATCH(Countries,uCountries)))

相关问题