求助php数组整合高手,分类汇总数据后整合到一个新php数组整合里面

查看: 781|回复: 3
[已解决]求助数组高手,分类汇总数据后整合到一个新数组里面
分类汇总数据后整合到一个新数组里面,详见附件
(7.85 KB, 下载次数: 8)
09:00 上传
点击文件名下载附件
grf1973发布于
Sub tt()
& & arr = Range(&c3:p11&)
& & ReDim brr(1 To UBound(arr), 1 To 4)
& & Set d = CreateObject(&scripting.dictionary&)
& & For i = 2 To UBound(arr)
& && &&&If arr(i, 5) = &已成& Then
& && && && &x = arr(i, 3): y = arr(i, 4)
& && && && &cj = arr(i, 9) '成交数量
& && && && &If Not d.exists(x) Then
& && && && && & n = n + 1
& && && && && & d(x) = n
& && && && && & brr(n, 1) = x
& && && && &End If
& && && && &p = d(x)
& && && && &c = IIf(y = &卖出&, 4, IIf(arr(i, 12) = &信用交易&, 3, 2))
& && && && &brr(p, c) = brr(p, c) + cj
& && &&&End If
& & Next
& & [d21].Resize(n, 4) = brr
End Sub
复制代码
&&&本楼为最佳答案&&&
Sub tt()
& & arr = Range(&c3:p11&)
& & ReDim brr(1 To UBound(arr), 1 To 4)
& & Set d = CreateObject(&scripting.dictionary&)
& & For i = 2 To UBound(arr)
& && &&&If arr(i, 5) = &已成& Then
& && && && &x = arr(i, 3): y = arr(i, 4)
& && && && &cj = arr(i, 9) '成交数量
& && && && &If Not d.exists(x) Then
& && && && && & n = n + 1
& && && && && & d(x) = n
& && && && && & brr(n, 1) = x
& && && && &End If
& && && && &p = d(x)
& && && && &c = IIf(y = &卖出&, 4, IIf(arr(i, 12) = &信用交易&, 3, 2))
& && && && &brr(p, c) = brr(p, c) + cj
& && &&&End If
& & Next
& & [d21].Resize(n, 4) = brr
End Sub
复制代码
09:19 上传
点击文件名下载附件
17.05 KB, 下载次数: 11
grf1973 发表于
我这里有个小失误,把“部撤”&&的成交数量也应该算进去,去掉 If arr(i, 5) = &已成& Then 就 OK 了,谢谢老师!
grf1973 发表于
老师还请您再帮我看看这个问题,谢谢
求助数组高手帮我利用股票交易数据对股票库存进行调整
|||Excel精英培训
Powered by查看: 891|回复: 10
求助数组高手,分类汇总数据后整合到一个新数组里面
阅读权限70
在线时间 小时
本帖最后由 renahu 于
09:53 编辑
分类汇总数据后整合到一个新数组里面,详见附件
(7.86 KB, 下载次数: 19)
09:53 上传
点击文件名下载附件
阅读权限50
在线时间 小时
本帖最后由 hyefeifei 于
11:08 编辑
呵,我那个顺带试一下常数类,你应该体会其中用字典解决此类问题的基本想法,这一点是相同的,你用简单的吧另外,如果你是初学者,建议你要一、显示声明所有变量。二、要全路径引用区域,比如要用thisworkbook.sheets(&sheet1&).range(&a1&)引用单元各a1,而不是用[a1]三、最好用习惯于用if,因if的效率比iif高好几倍。
阅读权限70
在线时间 小时
hyefeifei 发表于
自定义的常数类,不能删Sub tt()
& & arr = Range(&c3:p11&)
& & ReDim brr(1 To UBound(arr), 1 To 4)
& & Set d = CreateObject(&scripting.dictionary&)
& & For i = 2 To UBound(arr)
& && &&&x = arr(i, 3): y = arr(i, 4)
& && &&&cj = arr(i, 9) '成交数量
& && &&&If Not d.exists(x) Then
& && && && &n = n + 1
& && && && &d(x) = n
& && && && &brr(n, 1) = x
& && &&&End If
& && &&&p = d(x)
& && &&&c = IIf(y = &卖出&, 4, IIf(arr(i, 12) = &信用交易&, 3, 2))
& && &&&brr(p, c) = brr(p, c) + cj
& & Next
& & [d21].Resize(n, 4) = brr
End Sub复制代码老师,这是另一位老师写的,比较简单易懂,与您分享。
阅读权限90
在线时间 小时
renahu 发表于
谢谢老师,标题有点问题,好像不用转置
.Range(&d19&).Resize(1, 4) = Array(&证券名称&, &融资买入&, & ...
路过,看了看,学习了!
阅读权限50
在线时间 小时
自定义的常数类,不能删
阅读权限70
在线时间 小时
& & & & & & & &
hyefeifei 发表于
其实,这一类的问题,解决起来很简单,无非用到如果那么,其中的逻辑想清楚就是了。
Dim Cons As New Con&&这是什么数据类型? 这段代码挪出去就会提示“用户定义类型未定义”
阅读权限50
在线时间 小时
renahu 发表于
谢谢老师,标题有点问题,好像不用转置
.Range(&d19&).Resize(1, 4) = Array(&证券名称&, &融资买入&, & ...
果不其然,向你学习了
阅读权限70
在线时间 小时
hyefeifei 发表于
其实,这一类的问题,解决起来很简单,无非用到如果那么,其中的逻辑想清楚就是了。
谢谢老师,标题有点问题,好像不用转置
.Range(&d19&).Resize(1, 4) = Array(&证券名称&, &融资买入&, &信用买入&, &信用卖出&) 就好了
阅读权限50
在线时间 小时
本帖最后由 hyefeifei 于
09:57 编辑
其实,这一类的问题,解决起来很简单,无非用到如果那么,其中的逻辑想清楚就是了。
(21.71 KB, 下载次数: 40)
09:55 上传
点击文件名下载附件
阅读权限70
在线时间 小时
我的附件中有个失误,把“部撤”&&的成交数量也应该算进去,结果中 276700 改成 298100
您需要登录后才可以回帖
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师分类汇总|LOFTER(乐乎) - 记录生活,发现同好
LOFTER for ipad —— 记录生活,发现同好
&nbsp&nbsp被喜欢
&nbsp&nbsp被喜欢
{list posts as post}
{if post.type==1 || post.type == 5}
{if !!post.title}${post.title|escape}{/if}
{if !!post.digest}${post.digest}{/if}
{if post.type==2}
{if post.type == 3}
{if !!post.image}
{if post.type == 4}
{if !!post.image}
{if !!photo.labels && photo.labels.length>0}
{var wrapwidth = photo.ow < 500?photo.ow:500}
{list photo.labels as labs}
{var lbtxtwidth = Math.floor(wrapwidth*(labs.ort==1?labs.x:(100-labs.x))/100)-62}
{if lbtxtwidth>12}
{if !!labs.icon}
{list photos as photo}
{if photo_index==0}{break}{/if}
品牌${make||'-'}
型号${model||'-'}
焦距${focalLength||'-'}
光圈${apertureValue||'-'}
快门速度${exposureTime||'-'}
ISO${isoSpeedRatings||'-'}
曝光补偿${exposureBiasValue||'-'}
镜头${lens||'-'}
{if data.msgRank == 1}{/if}
{if data.askSetting == 1}{/if}
{if defined('posts')&&posts.length>0}
{list posts as post}
{if post_index < 3}
{if post.type == 1 || post.type == 5}
{if !!post.title}${post.title|escape}{/if}
{if !!post.digest}${post.digest}{/if}
{if post.type == 2}
{if post.type == 3}
{if post.type == 4}
{if post.type == 6}
{if drlist.length>0}
更多相似达人:
{list drlist as dr}{if drlist.length === 3 && dr_index === 0}、{/if}{if drlist.length === 3 && dr_index === 1}、{/if}{if drlist.length === 2 && dr_index === 0}、{/if}{/list}
暂无相似达人,
{if defined('posts')&&posts.length>0}
{list posts as post}
{if post.type == 2}
{if post.type == 3}
{if post.type == 4}
{if post.type == 6}
this.p={ currentPage:1,pageNewMode:true,isgooglead3:false,ishotrecompost:false,visitorId:0, first:'',tag:'分类汇总',recommType:'new',recommenderRole:0,offset:2,type:0,isUserEditor:0,};

我要回帖

更多关于 求助ps高手 的文章

 

随机推荐