Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1067|回复: 6

尾数相同数据提取前三个

[复制链接]
发表于 2023-1-6 13:36 | 显示全部楼层 |阅读模式
尾数相同数据提取前三个

求助一公式(尾数相同数据提取前三个).rar

9.93 KB, 下载次数: 12

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2023-1-6 14:54 | 显示全部楼层
高版本
  1. =TAKE(FILTER(B4:U4,RIGHT(B4:U4)=AI4&""),,3)
复制代码
低版本,数组
  1. =IFERROR(INDEX($B4:$U4,SMALL((RIGHT($B4:$U4)<>$AI4&"")/1%%+COLUMN($A:$T),COLUMN(A1))),"")
复制代码
回复

使用道具 举报

发表于 2023-1-6 15:16 | 显示全部楼层
{=IFERROR(INDEX(4:4,SMALL(IF(RIGHT($B4:$U4)-$AI4=0,COLUMN($B:$U)),COLUMN(A1))),AN4)
回复

使用道具 举报

发表于 2023-1-7 16:51 | 显示全部楼层
  1. Sub 数据提取()
  2. Dim oldarr, newarr(), i As Integer, j As Integer, k As Integer
  3. Dim c As Byte, s As Integer, x As Byte
  4. j = Range("b4").End(xlDown).Row
  5. oldarr = Range("b4:ai" & j)
  6. i = UBound(oldarr)
  7. ReDim newarr(1 To 100, 1 To 3)
  8. For k = 1 To i
  9.     s = s + 1
  10.     x = 1
  11.     For c = 1 To 20
  12.       If Right(oldarr(k, c), 1) = Format(oldarr(k, 34), "0") Then
  13.             
  14.             newarr(s, x) = oldarr(k, c)
  15.             x = x + 1
  16.             Do While x = 4
  17.                 GoTo 1
  18.             Loop
  19.      End If
  20.      If x = 3 Then
  21.         newarr(s, 3) = newarr(s, 2)
  22.     End If
  23.     Next
  24. 1
  25. Next
  26. Range("ao4").Resize(s, 3) = newarr
  27. End Sub
复制代码

又一年没做过练习了。

点评

666  发表于 2023-1-7 17:24
回复

使用道具 举报

发表于 2023-1-8 19:50 | 显示全部楼层
=LET(a,FILTER(B4:U4,RIGHT(B4:U4)-AI4=0),TAKE(HSTACK(a,TAKE(a,,-1)),,3))
回复

使用道具 举报

发表于 2023-1-9 08:42 | 显示全部楼层
本帖最后由 cabcyvr 于 2023-1-9 08:45 编辑

AO4=IFERROR(SMALL(IF(RIGHT($B4:$U4,1)/1=$AI4,$B4:$U4,"/"),COLUMN(A1)),AN4)  数组
Capture.PNG
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-16 11:57 , Processed in 0.402667 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表