我有以下的Excel数据
JID Val
1001 22
1030 6
1031 14
1041 8
1001 3
2344 8
1030 8
2344 6
1041 8
如何使用公式获得如下所示的唯一JID值?
UJID
1001
1030
1031
1041
2344
答案 0 :(得分:15)
以下是从表格中获取唯一商品列表的解决方案
此解决方案有两个部分。
第1部分)唯一计数
{= SUM(IF(频率(IF($ A $ 2:$ A $ 10 LT;> “中”,MATCH($ A $ 2:$ A $ 10,$ A $ 2:$ A $ 10,0)),ROW ($ A $ 2:$ A $ 10)-ROW($ A $ 2)+1),1))}
这将计算数据表中唯一项目的数量,并忽略任何空白
*请注意,这是一个数组公式,您需要使用“Ctrl”+“Shift”+“Enter”才能使用
第2部分)唯一列表
此公式将为您提供表格中唯一项目的列表
= {IF(ROWS($ E $ 5:E5)> $ E $ 2 “”,INDEX($ A $ 2:$ A $ 10,SMALL(IF(频率(IF($ A $ 2:$ A $ 10 LT ;> “中”,MATCH($ A $ 2:$ A $ 10,$ A $ 2:$ A $ 10,0)),ROW($ A $ 2:$ A $ 10)-ROW($ A $ 2)+1),ROW ($ A $ 2:$ A $ 10)-ROW($ A $ 2)+1),行($ E $ 5:E5))))}
这又是一个数组公式。然后,您可以向下拖动此公式以获取所有唯一项目。
此公式是动态公式,这意味着您可以将数据范围设置为超出当前数据范围,并且在您输入新值时列表将更新。
*这是一个很棒的视频,值得进一步了解
https://www.youtube.com/watch?v=3u8VHTvSNE4
答案 1 :(得分:14)
您可以使用删除重复功能
选择列范围
转到Data
标签
然后点击Remove Duplicates
答案 2 :(得分:9)
我认为我找到了一个没有数组函数或内置函数的更优雅的解决方法:
1 st 栏(ID):
this is the array from we'd like to select distinct values
2 nd 列(标准):
检查这是否是第一次出现
=IF((ROW()-1)=MATCH(A2,$A$2:$A$500,0),1,0)
3 rd 栏(累计):
=SUM($B$2:B2)
4 th 栏(计数):
this is constant 1
5 th 栏(唯一ID):
=OFFSET($A$2,MATCH(ROW()-1,$C$2:$C$501,0)-1,)
6 th 栏(计数):
=SUMIF(A2:A21,F2,D2:D21)