Excel精英培训网

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

[已解决]如何用公式把最大连出的一组数字记录下来?

[复制链接]
发表于 2014-2-21 10:16 | 显示全部楼层 |阅读模式
请教老师,先谢谢啦!!
最佳答案
2014-2-21 14:53
cys888 发表于 2014-2-21 11:53
谢谢!!
用函数有办法吗?

公式长了!  AG3单元格复制以下公式,三键回车( 先按住 shift、ctrl 两个键,然后敲enter键 ),
公式右拉。
=IF(COLUMN()=SMALL(IF(($AG$5:$CD$5<>"")*($AF$5:$CC$5=""),COLUMN($AG$5:$CD$5),""),MIN(IF((IFERROR(SMALL(IF(($AG$5:$CD$5<>"")*($AH$5:$CE$5=""),COLUMN($AG$5:$CD$5),""),ROW($1:$10)),0)-IFERROR(SMALL(IF(($AG$5:$CD$5<>"")*($AF$5:$CC$5=""),COLUMN($AG$5:$CD$5),""),ROW($1:$10)),0)+1)=(MAX(IFERROR(SMALL(IF(($AG$5:$CD$5<>"")*($AH$5:$CE$5=""),COLUMN($AG$5:$CD$5),""),ROW($1:$10)),0)-IFERROR(SMALL(IF(($AG$5:$CD$5<>"")*($AF$5:$CC$5=""),COLUMN($AG$5:$CD$5),""),ROW($1:$10)),0)+1)),ROW($1:$10),99))),AG5,IF((AF3<>"")*(AG5<>""),AG5,""))

Book1.rar

8.35 KB, 下载次数: 22

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-2-21 10:36 | 显示全部楼层
回复

使用道具 举报

发表于 2014-2-21 11:19 | 显示全部楼层
  1. Sub A()
  2.     Dim ARR, BRR()
  3.     Dim K, I, M, N
  4.     Dim 开始, 结束, 连续
  5.     ARR = Range("AG5:CD5")
  6.     ReDim BRR(1 To 1, 1 To UBound(ARR, 2))
  7.     For K = 1 To UBound(ARR, 2)
  8.         If ARR(1, K) <> "" Then
  9.             M = K
  10.             I = I + 1
  11.         Else
  12.             If I > 连续 Then
  13.                 开始 = M - I + 1
  14.                 结束 = K - 1
  15.                 连续 = I
  16.                 I = 0
  17.             End If
  18.             I = 0
  19.         End If
  20.     Next
  21.     For N = 开始 To 结束
  22.     BRR(1, N) = ARR(1, N)
  23.     Next
  24.     Range("AG6").Resize(1, UBound(BRR, 2)).ClearContents
  25. Range("AG6").Resize(1, UBound(BRR, 2)) = BRR
  26. End Sub
复制代码

Book1.rar

13.46 KB, 下载次数: 5

回复

使用道具 举报

 楼主| 发表于 2014-2-21 11:53 | 显示全部楼层
冠军欧洲2010 发表于 2014-2-21 11:19

谢谢!!
用函数有办法吗?
回复

使用道具 举报

发表于 2014-2-21 14:53 | 显示全部楼层    本楼为最佳答案   
cys888 发表于 2014-2-21 11:53
谢谢!!
用函数有办法吗?

公式长了!  AG3单元格复制以下公式,三键回车( 先按住 shift、ctrl 两个键,然后敲enter键 ),
公式右拉。
=IF(COLUMN()=SMALL(IF(($AG$5:$CD$5<>"")*($AF$5:$CC$5=""),COLUMN($AG$5:$CD$5),""),MIN(IF((IFERROR(SMALL(IF(($AG$5:$CD$5<>"")*($AH$5:$CE$5=""),COLUMN($AG$5:$CD$5),""),ROW($1:$10)),0)-IFERROR(SMALL(IF(($AG$5:$CD$5<>"")*($AF$5:$CC$5=""),COLUMN($AG$5:$CD$5),""),ROW($1:$10)),0)+1)=(MAX(IFERROR(SMALL(IF(($AG$5:$CD$5<>"")*($AH$5:$CE$5=""),COLUMN($AG$5:$CD$5),""),ROW($1:$10)),0)-IFERROR(SMALL(IF(($AG$5:$CD$5<>"")*($AF$5:$CC$5=""),COLUMN($AG$5:$CD$5),""),ROW($1:$10)),0)+1)),ROW($1:$10),99))),AG5,IF((AF3<>"")*(AG5<>""),AG5,""))
回复

使用道具 举报

 楼主| 发表于 2014-2-21 15:37 | 显示全部楼层
baksy 发表于 2014-2-21 14:53
公式长了!  AG3单元格复制以下公式,三键回车( 先按住 shift、ctrl 两个键,然后敲enter键 ),
公式右拉 ...

无法输入指定的公式,套嵌层数超出文件规定的允许值
回复

使用道具 举报

发表于 2014-2-21 15:44 | 显示全部楼层
cys888 发表于 2014-2-21 15:37
无法输入指定的公式,套嵌层数超出文件规定的允许值

不会吧~
我这显示没问题啊。
回复

使用道具 举报

 楼主| 发表于 2014-2-21 15:57 | 显示全部楼层
baksy 发表于 2014-2-21 15:44
不会吧~
我这显示没问题啊。

2007版本可以,谢谢啦
回复

使用道具 举报

 楼主| 发表于 2014-2-21 16:36 | 显示全部楼层
cys888 发表于 2014-2-21 15:57
2007版本可以,谢谢啦

运行中,会出错,有时会把不是最大连出的记录下来,有时(AG3CD3)一整行显示#NUM!,不知道是不是跟AF5数字不断变化有关,我上传的附件AF5是0
回复

使用道具 举报

发表于 2014-2-22 08:49 | 显示全部楼层
cys888 发表于 2014-2-21 16:36
运行中,会出错,有时会把不是最大连出的记录下来,有时(AG3:CD3)一整行显示#NUM!,不知道是不是跟AF5数 ...

能再传一下出错附件吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 09:13 , Processed in 0.942536 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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