Excel精英培训网

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

[已解决]数组分割问题

[复制链接]
发表于 2015-10-1 18:41 | 显示全部楼层 |阅读模式
本帖最后由 yinhong7 于 2015-10-1 18:43 编辑

根据c列中空值的将D列数据分成若干小数组,找到C列分割该数组的空值在D列中对应的数值N,在小数组中找到前N个最大值,并将这N个值转化为1,其他转化为O。并将值填列在F列。E列是通过公式实现的。
问题详情请见二楼附件。
最佳答案
2015-10-1 21:54
见附件。以为很简单,做了才知道不怎么简单
 楼主| 发表于 2015-10-1 18:45 | 显示全部楼层
该附件有详细问题描述

问题描述.rar

11.18 KB, 下载次数: 2

回复

使用道具 举报

发表于 2015-10-1 20:00 | 显示全部楼层
你的公式不行吗,你求助什么呀?
回复

使用道具 举报

 楼主| 发表于 2015-10-1 20:23 | 显示全部楼层
本帖最后由 yinhong7 于 2015-10-1 20:25 编辑
高 发表于 2015-10-1 20:00
你的公式不行吗,你求助什么呀?


想看看代码怎么写啊。其实这个公式是有瑕疵的,哎
回复

使用道具 举报

发表于 2015-10-1 20:35 | 显示全部楼层
前几个最大值会出现并列的情况,到时候替换成1的可能会比n多.这怎么解决。
vba倒是很好写出来 的。
回复

使用道具 举报

发表于 2015-10-1 20:36 | 显示全部楼层
yinhong7 发表于 2015-10-1 20:23
想看看代码怎么写啊。其实这个公式是有瑕疵的,哎

找到前N个最大值,并将这N个值转化为1
这里的两个N可能会不相等的。这是怎么也解决不了的。
回复

使用道具 举报

 楼主| 发表于 2015-10-1 20:41 | 显示全部楼层
高 发表于 2015-10-1 20:35
前几个最大值会出现并列的情况,到时候替换成1的可能会比n多.这怎么解决。
vba倒是很好写出来 的。

是这样的,不管会不会比n多,只要满足条件即可。
问题的难点是:我不知道如何根据空格分割数组,然后循环小数组,在小数组内找符合条件的值。
回复

使用道具 举报

发表于 2015-10-1 21:54 | 显示全部楼层    本楼为最佳答案   
见附件。以为很简单,做了才知道不怎么简单

问题描述2.zip

20.2 KB, 下载次数: 15

回复

使用道具 举报

 楼主| 发表于 2015-10-1 23:33 | 显示全部楼层
高 发表于 2015-10-1 21:54
见附件。以为很简单,做了才知道不怎么简单

高手写的程序简单易懂,受教了,非常感谢。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 16:06 , Processed in 0.458441 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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