Excel精英培训网

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

求解:excel任意选择区域非空数据存于二维数组

[复制链接]
发表于 2011-11-30 14:16 | 显示全部楼层 |阅读模式
8学分
Hi,大侠们,
我有一个sheet页,我期望实现这样的功能,在页面上选择任意连续或者不连续的区域,均可以将里面的非空数据保存到一个二维数组里面,通过二维数组的行和列就能找到这个数据;
我的页面上的数据有上万行,上千列,我还是期望数据能快些
请示教,在线等

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-11-30 14:27 | 显示全部楼层
不连续如何保存到一个二维数组?
对"通过二维数组的行和列就能找到这个数据"很是费解
回复

使用道具 举报

发表于 2011-11-30 17:02 | 显示全部楼层
是的  连续的还可能做能,  不连续很难              
回复

使用道具 举报

 楼主| 发表于 2011-11-30 17:13 | 显示全部楼层
tianti,连续的可能做?给出你的solution吧,期待ing,我觉得理论上,连续的或者不连续的,都应该能实现的,excel不会那么笨
回复

使用道具 举报

 楼主| 发表于 2011-12-2 11:08 | 显示全部楼层
顶,坐等高手出现,任意连续或者不连续的区域的非空数据一定能存到二维数组的...
回复

使用道具 举报

发表于 2011-12-2 11:42 | 显示全部楼层
本帖最后由 FF7 于 2011-12-2 11:43 编辑

首先:楼主只是在凭自己的想象而想象,而非潜下心认真分析其中的各种疏漏。
其二:区域的选择可能不是从第一行,第一列开始的,如果通过数组的一、二维来访问数据,那么这个数组岂不是下标开始的值不为0和1。可能为arr(100 to 333,30 to 50)
再则:对于不连续区域,那是不是将返回一个不连续的二维数组。

综合而言,selection即可表示所选择的区域,可以将不连续区域的数据存到二维数组中,但要达到楼主的要求,二维数组恐怕难以胜任,起码得三维数组以上,题目本身疏漏太多,楼主还是三思而行。
回复

使用道具 举报

发表于 2011-12-2 11:49 | 显示全部楼层
没听懂楼主要做什么。
回复

使用道具 举报

 楼主| 发表于 2011-12-3 21:50 | 显示全部楼层
我要实现的功能,就是把选择的任意连续或不连续的区域存储到二维数据表中,正如FF7理解的那样,这样的二维数组当然不一定从第一行,第一列开始,而可能是arr(10 to 90,30 to 80)和arr(110 to 990,90 to 1000)的两个不连续区域的并集,理论上,任何不连续的区域都有起始的行标和列表,基于此,应该能得到不连续的二维数组的并集,只有想不到的,没有实现不了的,所以,应该有解才是,现在就求高人的 解
回复

使用道具 举报

 楼主| 发表于 2011-12-3 21:50 | 显示全部楼层
我要实现的功能,就是把选择的任意连续或不连续的区域存储到二维数据表中,正如FF7理解的那样,这样的二维数组当然不一定从第一行,第一列开始,而可能是arr(10 to 90,30 to 80)和arr(110 to 990,90 to 1000)的两个不连续区域的并集,理论上,任何不连续的区域都有起始的行标和列表,基于此,应该能得到不连续的二维数组的并集,只有想不到的,没有实现不了的,所以,应该有解才是,现在就求高人的 解
回复

使用道具 举报

发表于 2011-12-4 09:09 | 显示全部楼层
hunpo 发表于 2011-12-3 21:50
我要实现的功能,就是把选择的任意连续或不连续的区域存储到二维数据表中,正如FF7理解的那样,这样的二维数 ...

不连续的是可以保存到数组中的,但是问题你的不连续的区域只有一行?(你也说了有几万个数据,03版的是有65536行,应该满足你的几万个数据吧),那么选择的这一行数据应该怎么放进这个二维数组??你应该有个说明吧?不可能是随便放吧,只要是放进了2维就可以..那就很简单了

问题二和问题一是一样的,你的不连续的区域可能是多例,那这多例数据又应该怎么放进这个2维数组??如果和上面一样,都不管他怎么放,只要是放进去了就可以,那就是很简单的事了,但是问题是这样给你放进去以后的数据对你是否有用??

说了那么多,不如来个附件,说说你想做的,也许有更好的方法!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-23 21:14 , Processed in 0.254896 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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