c语言讲两个数组合并_两列数据相互去掉重复值后合并
大家好,今日继续讲VBA数组与字典解决方案的第27讲,内容是两列数据中相互去掉重复值之后将数据合并。这讲的内容利用到动态数组,固定数组,数组的合并,数组的转置等等。
还是先看实例,下面的工作表中A列和B列有两列数值如下:
我们首先要在A列中去掉B列的重复值,然后在B列中去掉和A列重复的值,然后将剩余的A,B列数合并到C列。这个问题在理论上的应用较多,实际工作中要结合具体的应用来解析。如何实现呢?我们看下面的代码:
Sub MyNZsz_27() '第27讲 两列数中去掉相互重复值后合并"
Sheets("27").Select
Dim temvarArr1(), temvarArr2(), tem()
varArr1 = Range("A1:A" & Range("A1").End(xlDown).Row) '将A列数据写入数组
varArr2 = Range("B1:B" & Range("B1").End(xlDown).Row) '将B列数据写入数组
ReDim temvarArr1(1 To UBound(varArr1)) '将A列数据写入动态一维数组
For i = 1 To UBound(varArr1)
temvarArr1(i) = varArr1(i, 1)
Next
ReDim temvarArr2(1 To UBound(varArr2)) '将B列数据写入动态一维数组
For i = 1 To UBound(varArr2)
temvarArr2(i) = varArr2(i, 1)
Next
'在数据1中去掉数据2的值,结果赋值给tem1
tem1 = Filter(temvarArr1, temvarArr2(1), False) '给TEM1赋初始值,返回temvarArr1中不含temvarArr2(1)的值
For i = 2 To UBound(temvarArr2)
tem1 = Filter(tem1, temvarArr2(i), False)
Next i
'在数据2中去掉数据1的值,结果赋值给tem2
tem2 = Filter(temvarArr2, temvarArr1(1), False) '给TEM2赋初始值
For i = 2 To UBound(varArr1)
tem2 = Filter(tem2, temvarArr1(i), False)
Next i
ReDim tem(0 To UBound(tem1) + UBound(tem2) + 1)
For i = 0 To UBound(tem1)
tem(i) = tem1(i)
Next
For i = UBound(tem1) + 1 To UBound(tem1) + UBound(tem2) + 1
tem(i) = tem2(i - UBound(tem1) - 1)
Next
' MsgBox Join(tem) '如果需要提示用户用此代码
Range("C1") = "两列数中去掉相互重复值后合并"
[c2].Resize(UBound(tem) + 1) = WorksheetFunction.Transpose(tem)
End Sub
代码截图:
代码解析:
1 整个 代码的过程先讲A和B列的数写入数组,然后转成一个一维数组,并分别去除重复值,得到TEM1和TEM2两个数组。最后将两个数组合并。
2 ReDim tem(0 To UBound(tem1) + UBound(tem2) + 1) 此处给动态数组以上下界的定义
3 For i = 0 To UBound(tem1)
tem(i) = tem1(i)
Next
For i = UBound(tem1) + 1 To UBound(tem1) + UBound(tem2) + 1
tem(i) = tem2(i - UBound(tem1) - 1)
Next
上述代码中分别有循环语句给给TEM数组赋值。
最后我们看输出的结果:
今日内容回向:
1 上述代码的过程是否理解呢?
2 上述过程中有哪些是动态数组?哪些是固定数组呢?
c语言讲两个数组合并_两列数据相互去掉重复值后合并相关推荐
- php 两个数组 交集_两个数组的交集
给定两个数组,编写一个函数来计算它们的交集. 示例1: 输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2] 示例2: 输入:nums1 = [4,9,5], num ...
- 将两个数组河滨_两名3岁男孩在河滨公园玩耍迷了路 幸亏被好心人“捡”到
民警安抚孩子 多彩贵州网讯(本网记者 徐昆)"你好,民警同志,我在河滨公园见到两个小孩."10月27日下午,南明区网格民警田雨风接到报警称,在贵阳市河滨公园,一名热心市民" ...
- 【Python】汇总Excel所有列内容,删除重复值并合并成一列写入新表中
import xlrd import xlwt from xlutils.copy import copy import osdef read_file(file_name):# 1.打开文件open ...
- mysql 多列合并为一列_多列数据合并一列,还在用数据透视就out了,用=号只要三步完成...
以前我们经常使用Excel表格进行数据分类,比如将多列的数据合并到一列当中,这个时候我们会使用数据透视表.函数等多种方法来操作.今天我们就来学习,如何利用一个=号,快速将多列数据合并为一列. 如上图所 ...
- PHP 二维数组去掉重复值并保持原结构
不得不说PHP的数组功能真的是非常强大. 下面直接上PHP的二维数组去掉重复值并保持原结构的 代码: //二维数组去掉重复值 function arrunique($a){ foreach($a[0] ...
- php 二位数组去掉重复,PHP 二维数组去掉重复值并保持原结构
PHP 二维数组去掉重复值并保持原结构 直接上代码,解释很详细 //二维数组去掉重复值 function arrunique($a){ foreach($a[0] as $k => $v){ / ...
- matlab复制txt里的一列,将txt格式里的两列数据复制粘贴导入excel 后全都在同一列里,怎样让它们分成两列?...
将txt格式里的两列数据复制粘贴导入excel 后全都在同一列里,怎样让它们分成两列?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起 ...
- numpy使用[]语法索引二维numpy数组中倒数N列数据列的数值内容(accessing the last N columns in numpy array)
numpy使用[]语法索引二维numpy数组中倒数N列数据列的数值内容(accessing the last N columns in numpy array) 目录
- Excel 中如何找出两列数据中不重复的记录
现在有两列数据,要在 A 列中找出 B 列中没有的记录,在 B 列中找出 A 列中没有的记录.现在和大家分享一下这个方法. 我们先用一个简单的例子看一下.现在有两列数据,可以是分别在不同的数据单(sh ...
最新文章
- SAP PM 初级系列9 - 定义功能位置的安装
- FPGA设计心得(2)边沿检测的问题进一步说明(仿真中一定能得到上升沿的设计)
- EventBus3.0源码解析
- IIS6的工作进程回收
- 我的HTTP/3学习笔记
- AAAI 2019 滴滴被收录论文全解读
- 中获取文件名不要扩展名_如何批量修改文件名,3s时间够不够
- SharePoint 2010 网站模板要求在网站集中激活功能
- LintCode 125. 背包问题 II(DP)
- Flask简介与简单项目操作流程
- php 修改excel内容吗,php更新修改excel中的内容例子
- solr 高并发_你真的了解并发编程吗?
- 【转】2011年考研备战时间表
- python打造微信聊天机器人_求问各位大佬,如何用Python写一款微信聊天机器人?...
- python 爬虫系列之极验滑块打码
- Java实现港(澳)台大陆身份证校验(亲测有效)
- Frame-relay帧中继网络配置手册
- [reading notes] css W3school reading notes
- 如何在新的Apple TV遥控器上调整触摸灵敏度
- JQuery插件二--colorbox
热门文章
- [非原子批处理出现故障]使用 getNextException() 来检索已经过批处理的特定元素的异常。 ERRORCODE=-4228, SQLSTATE=null
- Apache ShardingSphere 5.0.0-alpha版本发布
- 新中新二代身份证读卡Syn_ReadBaseMsg方法
- 链脉吴雪:工业互联网热潮下,人工智能名片有何机会?
- java的字典序排序_java字典序排序
- 王俊杰:苏宁AI在智慧零售上的应用
- IBM推出蓝色基因二代产品蓝色基因/P(转)
- web3创业合伙人招募!!!
- 洛谷:玩具谜题,C语言
- Echarts图设置好了但是在页面无法显示问题