如何返回重复值的位置
2022-12-21阅读(970)
问:MATLAB如何找到数组中重复值的位置
- 答:1、实现方法
使用find()函数:[m,n]=find(A==x)
2、解析
A==x:将矩阵A的每个元素与x比较,如果相等,相应位置的元素就等于1,否则为0。
find(X):返回X中非零元素的索引(即行列位置)。
3、实例演示:找出矩阵A中所有等于3的元素的行列位置
打开matlab,在命令窗口运行如下代码:
>>
A=[1
2
3
4
5;6
7
3
1
2]
>>
[m,n]=find(A==3)
从运行结果可知,找到A中元素3的位置为:第1行第3列
和
第2行第3列。
问:Excel 中,查找D列所有重复值并返回对应A列值
- 答:检查D列所有重复值并返回对应A列数据的步骤是:
1、打开Excel工作表;
2、观察数据规律,D列存在较多组的重复值,对应的A列数据个数也不确定,因此需要先将D列重复数据整理出来,然后再筛选出其对应的A列数据。
3、在F2单元格输入以下数组公式,按Ctrl+Shift+Enter组合键结束,然后向下填充公式
=IFERROR(INDEX(D:D,SMALL(IF((COUNTIF(D$1:D$10,D$1:D$10)>1)*(MATCH(D$1:D$10,D$1:D$10,0)=ROW($1:$10)),ROW($1:$10),4^8),ROW(A1))),"")
公式表示:定位到D列,将满足出现次数超过1次的数据不重复地筛选出来。
4、在G2单元格输入以下数组公式,按Ctrl+Shift+Enter组合键结束,然后向右向下填充公式
=INDEX($A:$A,SMALL(IF($D$1:$D$10=$F2,ROW($1:$10),4^8),COLUMN(A1)))&""
公式表示:定位到A列,将满足D列等于F2条件的对应A列数据筛选出来,逐一罗列。 - 答:D列有相同值,相同值对应不同的A列值。
用VLOOKUP函数求一对一或一对多比较容易,求多对一就不太容易了。 - 答:D与A列是一对多的关系,你只要将D列放到A列前面,并排序就可以看到其对应的A列值了啊?
若有问题,继续追问
问:如何用EXCEL找出重复值的位置
- 答:="H"&SMALL(IF($J5=$H$5:$H$9999,ROW($H$5:$H$9999),10000),2)
J5在H列中的第二个位置用这个公式,其中的2可以用column(b1)来代替,然后右拉得到3。
这是个数组公式,按CTRL+SHIFT+回车结束,再下拉才行。 - 答:在C1输入公式:
="A"&MATCH(B1,A:A,)
公式以CTRL+SHIFT+ENTER三键结束。
将公式向下复制