Excel精英培训网

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

按条件抽取并组成新的字符串

[复制链接]
发表于 2017-5-2 10:33 | 显示全部楼层 |阅读模式
按条件抽取并组成新的字符串

按条件抽取并组成新的字符串.rar

2.49 KB, 下载次数: 10

发表于 2017-5-2 10:47 | 显示全部楼层
=MID(A2,--LEFT(B2),--RIGHT(B2)+1-LEFT(B2))

第2行 的照着 这个样子

要连在一起 用 &
即 mid(  )&mid(   )
回复

使用道具 举报

 楼主| 发表于 2017-5-2 11:15 | 显示全部楼层
多谢砂海老师的回复,是抽数组合!用你的公式当条件为0-1时会出错
回复

使用道具 举报

发表于 2017-5-2 13:33 | 显示全部楼层
  1. Sub tt()
  2.     x1 = [a2]: nmin = Val([b2]): nmax = Val(Split([b2], "-")(1))
  3.     res = qs(x1, nmin, nmax): l1 = Len(res)
  4.     x2 = [a3]: nmin = Val([b3]): nmax = Val(Split([b3], "-")(1))
  5.     If Len(res) + nmin < 3 Then nmin = 3 - Len(res)
  6.     res = res & qs(x2, nmin, nmax)
  7.     r = [a65536].End(3).Row + 1
  8.     Cells(r, 1) = res: Cells(r, 2) = l1: Cells(r, 3) = Len(res) - l1
  9. End Sub

  10. Function qs(xstr, nmin, nmax)   '随机取数(字符串,最小个数,最大个数)
  11.     Dim L%
  12.     p = Int(Rnd * (nmax - nmin + 1) + nmin)
  13.     If p = 0 Then qs = "": Exit Function
  14.     L = Len(xstr)
  15.     For i = 1 To p
  16.         pp = Int(Rnd * L + 1)
  17.         qs = qs & Mid(xstr, pp, 1)
  18.         Mid(xstr, pp, 1) = Mid(xstr, L, 1)
  19.         L = L - 1
  20.     Next
  21. End Function
复制代码

按条件抽取组成新的字符串.rar

12.49 KB, 下载次数: 4

回复

使用道具 举报

 楼主| 发表于 2017-5-2 13:54 | 显示全部楼层
grf1973老师的解法高明,佩服,是有达到效果,应当有更好的解法
回复

使用道具 举报

 楼主| 发表于 2017-5-2 22:01 | 显示全部楼层
若能批量返回结果就好了
回复

使用道具 举报

 楼主| 发表于 2017-5-4 18:22 | 显示全部楼层
继续求助
回复

使用道具 举报

发表于 2017-5-5 10:01 | 显示全部楼层
没看明白条件指的是什么
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 16:15 , Processed in 0.596802 second(s), 18 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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