ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: apolloh

[Excel 函数与公式] [开_20] 数组合并与置换[已总结] ★★★★

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2005-4-15 12:00 | 显示全部楼层
各位大虾的解法看得我头都晕了

TA的精华主题

TA的得分主题

发表于 2005-4-15 12:00 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

只好转换一下了,加了一个循环处理

t = Join(Arr1) & Join(Arr2) t = Trim(Replace(t, "-----", "")) For i = Len(t) To 1 Step -1 t = Replace(t, Application.Rept(" ", i), ",") Next Arr = Split(t, ",")

nxUddyI8.rar (12.64 KB, 下载次数: 88)

(我觉得自己在这里瞎搅和,下次不会这样了,阿波罗兄,对不起了)

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-4-15 13:49 | 显示全部楼层
以下是引用Long_III在2005-4-15 12:00:00的发言:

只好转换一下了,加了一个循环处理

t = Join(Arr1) & Join(Arr2) t = Trim(Replace(t, "-----", "")) For i = Len(t) To 1 Step -1 t = Replace(t, Application.Rept(" ", i), ",") Next Arr = Split(t, ",")

(我觉得自己在这里瞎搅和,下次不会这样了,阿波罗兄,对不起了)

自定义函数也不错,而且有很多思路可以想,谢谢你的参与:)

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-4-15 13:52 | 显示全部楼层
以下是引用半榻茶烟在2005-4-14 21:47:00的发言:

也来凑一下热闹。

我研究了,确实是一种方法:)但有点遗憾,最后一步是多单元格数组公式,不是内存数组。

TA的精华主题

TA的得分主题

发表于 2005-4-15 17:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
以下是引用Long_III在2005-4-15 12:00:00的发言:

只好转换一下了,加了一个循环处理

t = Join(Arr1) & Join(Arr2) t = Trim(Replace(t, "-----", "")) For i = Len(t) To 1 Step -1 t = Replace(t, Application.Rept(" ", i), ",") Next Arr = Split(t, ",")

(我觉得自己在这里瞎搅和,下次不会这样了,阿波罗兄,对不起了)

为什么要用这样的方式求Arr = Split(t, ",") 既然arr1和arr2都已经求出,先ReDim变量Arr的元素个数为前2个数组的总元素个数,然后循环arr1和arr2对Arr赋值,用一个记数变量统计有效个数,最后再ReDim Arr数组,将Arr直接赋给函数名Hre以返回一个数组,不要只是返回一个值。 另匹配可以调用MATCH函数,不要用代码一个一个比较,对有几千个数据的数组效率要高得多。

TA的精华主题

TA的得分主题

发表于 2005-4-15 17:02 | 显示全部楼层
多单元格数组: btIeEHlp.rar (4.3 KB, 下载次数: 150)

TA的精华主题

TA的得分主题

发表于 2005-4-15 17:07 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

返回一个数组?

我知道赋值给数组之后,要按三键结束

但是这个我不知道有效的个数有多少,我赋值给数组之后怎样输入才能返回值呢?

TA的精华主题

TA的得分主题

发表于 2005-4-15 17:13 | 显示全部楼层
你的自定义函数只是返回了一个值,所以你要一个n参数来决定返回的位置,要用自定义函数返回一个数组,在代码中先求出一个数组,最后用 函数名=数组变量名 就可以了,返回数组的自定义函数的输入方法同一般的数组公式,按3个键输入。

TA的精华主题

TA的得分主题

发表于 2005-4-15 17:22 | 显示全部楼层

chenjun版主,我试了,改为数组之后

我在第一个单元格输入,按三键结束,有一个结果,我怎么把所有的结果都显示出来呢?

不会还要用=index(hre,row(a1))这种方法吧?

请指点!

TA的精华主题

TA的得分主题

发表于 2005-4-15 17:25 | 显示全部楼层
选择多个单元格区域,按数组输入方式输入,你可以看看我在函数的深入理解2楼的返回多区域唯一值列表的自定义函数。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-23 09:14 , Processed in 0.042988 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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