ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2005-4-13 17:03 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本期议题:有人解过类似的东东,但这个难度要比较大一些:)
[求集合非相交部分——交集在并集中的补集问题]
发起人 apolloh 发起日 2005-4-14 答案公布日 2005-04-19 总结日 2005-04-20

[ 本帖最后由 apolloh 于 2008-11-8 17:46 编辑 ]
单选投票, 共有 65 人参与投票
您所在的用户组没有投票权限

[函数15] 求集合非相交部分-数组合并与置换 ★★★★

[函数15] 求集合非相交部分-数组合并与置换 ★★★★

TZCk19I6.rar

4.02 KB, 下载次数: 1081

[函数应用测试题15] 求集合非相交部分-数组合并与置换 ★★★★

TAdhtsSJ.rar

30.03 KB, 下载次数: 1048

[函数应用测试题15] 求集合非相交部分-数组合并与置换 ★★★★

TA的精华主题

TA的得分主题

发表于 2005-4-13 22:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
其实这个问题在实际中是非常有用的.大家都来做一做看看吧.如果你要用辅助列,也尽可以一试.公式本身并不重要,关链在于检查一下你的思路.

TA的精华主题

TA的得分主题

发表于 2005-4-14 12:53 | 显示全部楼层

当然了,取数仍是用的COUNTIF().这没有什么新鲜的.不过为了支持老兄,还是贴上来了.

不过这次生成的一定是内存数组.不过用的是偷机的方法.呵呵:)

j2VfiYJp.rar (5.23 KB, 下载次数: 438)

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-4-14 13:17 | 显示全部楼层
以下是引用yigepure在2005-4-14 12:53:00的发言:

当然了,取数仍是用的COUNTIF().这没有什么新鲜的.不过为了支持老兄,还是贴上来了.

不过这次生成的一定是内存数组.不过用的是偷机的方法.呵呵:)

呵呵,下次我把题目改成AC,CF,EF,AH,看你还怎么做:)

TA的精华主题

TA的得分主题

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

那我只好用常规解法了.求出它们各自的数.再分别取.

老兄应该给点提示了:)

TA的精华主题

TA的得分主题

发表于 2005-4-14 13:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
以下是引用apolloh在2005-4-14 13:17:00的发言: > 呵呵,下次我把题目改成AC,CF,EF,AH,看你还怎么做:)

呵呵!

题目很有难度,我想编个自定义函数,都觉得不大可能

只能在表中相互查找一一对应的删!

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-4-14 13:26 | 显示全部楼层
用frequency时你想过先排序没有?还有其他方法也可想,另外rongjun和gvntw已经做出来的方法要生成内存数组也有简便的方法。:)

TA的精华主题

TA的得分主题

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

呵呵!

题目很有难度,我想编个自定义函数,都觉得不大可能

只能在表中相互查找一一对应的删!

自定义函数可以通过数组操作来做:)

TA的精华主题

TA的得分主题

发表于 2005-4-14 16:19 | 显示全部楼层

[函数应用测试题15] 求集合非相交部分-数组合并与置换 ★★★★

apolloh斑竹,为什么我最下面的代码运行正常,而在自定义函数中却不行呢?我看了好久都没找到原因

能帮我看看吗?(我知道你们在这里讨论函数的方法,不好意思,打扰了)

Function Hre(rng As Range, rng1 As Range, n) Application.Volatile Dim Arr

With rng For i = 1 To .Count Set c = rng1.Find(.Cells(i), LookAt:=xlWhole) If Not c Is Nothing Then .Cells(i).Value = .Cells(i) & "-----" c.Value = c.Value & "-----" End If Next End With k = 1 Set rng2 = Application.Union(rng, rng1) For Each r In rng2 If InStr(1, r, "-----") = 0 Then ReDim Arr(k) Arr(k) = r.Value k = k + 1 End If Next rng2.Replace "-----", "", LookAt:=xlPart

Hre = Arr(n) End Function

----------------------------------------------------

Sub hjs()

Set rng = Sheet1.Range("b3:b18") Set rng1 = Sheet1.Range("d3:d14")

With rng For i = 1 To .Count Set c = rng1.Find(.Cells(i), LookAt:=xlWhole) If Not c Is Nothing Then .Cells(i).Value = .Cells(i) & "-----" c.Value = c.Value & "-----" End If Next End With

Set rng2 = Application.Union(rng, rng1) k = 3 For Each r In rng2 If InStr(1, r, "-----") = 0 Then Sheet1.Cells(k, 6) = r k = k + 1 End If Next rng2.Replace "-----", "", LookAt:=xlPart

End Sub

TA的精华主题

TA的得分主题

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

.Cells(i).Value = .Cells(i) & "-----" c.Value = c.Value & "-----"

你不能在工作表的自定义函数中设置单元格的属性,如果在sub过程中调用该函数,则可以

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

本版积分规则

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

GMT+8, 2024-11-23 17:53 , Processed in 0.049927 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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