两个excel有两列不完全相同的数据,以它们为匹配ID,使一个excel中的数据转移到另外一个excel中

Excel两列比对的6种方法:从基础判断到智能匹配 在Excel数据处理中,两列比对是识别重复、查找差异、验证一致性的核心操作,其本质是基于逻辑判断(=)、条件反馈(IF)、精确匹配(EXACT)、视觉标记(条件格式)及跨表检索(XLOOKUP/COUNTIF)等技术实现的数据存在性验证。掌握不同方法的适用边界——如行对行比对依赖位置对齐,列对列比对关注全局存在,而XLOOKUP凭借方向自由、默认精确匹配和内建错误处理,正成为VLOOKUP的现代替代方案。该能力广泛应用于销售线索去重、库存核对、考试成绩交叉验证等真实业务场景,是提升数据分析准确率与工程效率的 阅读详情

具体的意思请看图片

   

上边的两个表我们分别称为excel1和excel2,其中excel1中的A列只是excel2中A列的一部分,现在我们想以两个表的A列为匹配ID来使得excel1后边列的数据也能按照对应的ID填入excel2中。

1:首先安装配置eclipse,在此不再过多叙述,可以问度娘;

2:下载poi.jar,在eclipse中引用,具体链接https://www.apache.org/dyn/closer.lua/poi/dev/bin/poi-bin-3.17-beta1-20170701.tar.gz

只需要压缩包中的poi-3.17-beta1.jar;

3:另新建一个excel,我们这里成为excel3,作为写入的excel;

4:上代码:

package wang_readExcel;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;


public class readWrite {


public static void main(String[] args) throws FileNotFoundException, IOException {
String fileInput="E:\\java.jar\\tea_wang\\excel1.xls";
String fileResult="E:\\java.jar\\tea_wang\\excel2.xls";
FileOutputStream fos = new FileOutputStream("E:\\java.jar\\tea_wang\\result_excel_part\\excel3.xls");

 HSSFWorkbook workbook1 = new HSSFWorkbook(new FileInputStream(fileInput));
 HSSFWorkbook workbook2 = new HSSFWorkbook(new FileInputStream(fileResult));
 HSSFWorkbook reference = new HSSFWorkbook();
 
 HSSFSheet sheet1 = workbook1.getSheet("Sheet1");
 HSSFSheet sheet2 = workbook2.getSheet("Sheet1");
 HSSFSheet resheet = reference.createSheet("reference");
 

 int rows1=sheet1.getPhysicalNumberOfRows();
 int rows2=sheet2.getPhysicalNumberOfRows();
 
 for(int i=0;i<rows2;i++){
 HSSFRow row2 = sheet2.getRow(i);
 HSSFCell cell2 = row2.getCell(0);
 
 double value2 = cell2.getNumericCellValue();
 for(int j=0;j<rows1;j++){
 HSSFRow row1 = sheet1.getRow(j);
 HSSFCell cell1 = row1.getCell(0);
 double value1 = cell1.getNumericCellValue();
 if(value1==value2){   
 HSSFRow get_value = resheet.createRow(i);
 get_value.createCell(1).setCellValue(row1.getCell(1).getNumericCellValue());
 
 }
 }
 
 }
                      reference.write(fos);
 fos.close();
 
}
}

5:最终在excel3中生成的数据如下所示:


6:我们将excel2中的A列数据复制粘贴到excel3中的A列,然后和excel1做对比如下:(左侧为excel3,右侧为excel1)

 

此时我们发现匹配正确,大功告成。

7:我们继续将excel3中的B列其它无值的单元格填充为0,具体操作步骤如下:

https://jingyan.baidu.com/article/3d69c55152b887f0cf02d7d5.html

最终结果如下:


如对您有用,请给予参考。安静大笑

Excel实战:用VLOOKUP快速匹配最新日期数据(附排序技巧) 本文深入解析了Excel中VLOOKUP函数在匹配最新日期数据时的常见问题与解决方案。针对同一查找值对应多条日期记录的场景,文章详细介绍了通过排序预处理确保数据正确性的核心技巧,并对比了动态数组公式等进阶方法,帮助用户高效、精准地完成数据匹配任务。 阅读详情

相关推荐

Excel实现Markov链分析:顾客行为预测实战指南

Markov链是一种基于状态转移的概率建模方法,核心在于利用历史行为序列估算相邻状态间的转移概率,从而预测用户下一步行动。其原理简洁——只依赖当前状态,不追溯更早路径,这使得模型具备强可解释性与低计算门槛。在客户留存、门店分流、竞品拦截等商业场景中,它能量化‘从A到B’的惯性强度,支撑精细化运营决策。尤其适合缺乏编程环境但需快速验证假设的业务团队。本文聚焦Excel原生函数(如MMULT、数据透视表、Power Query)搭建可审计、可复用的Markov分析模板,覆盖数据清洗、矩阵构建、多期预测及稳态求解

cumo3681的博客 365

excel两列乱序姓名如何一一对应 excel 两列数据自动配对

Excel是非常好用的数据表格处理软件,能够帮助用户快速的处理复杂的数据,而excel中有很多实用的功能,需要我们合理使用。有时需要将两个名单中的数据自动对应,自己输入的话就比较麻烦了,今天小编就来告诉大家excel两列乱序姓名如何一一对应。第三个参数就值得这个范围的第几列,比如范围d列是名字,我们匹配的是d列后面的一列的数据,那当然就是2了。1、首先打开电脑中的excel文档,在两个excel表格中分列列出名称和数据列,需要将表格2中的数据根据名称匹配到表格1中的数据中;

denchao0124的博客 3万+

Excel马尔可夫分析实战:零代码构建业务状态预测模型

马尔可夫链是一种基于状态转移的概率建模方法,其核心原理是利用历史行为序列推演未来状态分布,不依赖复杂训练,强调确定性推演与可解释性。该技术在客户生命周期管理、产品路径归因、风控状态迁移等场景中具备显著工程价值——尤其适合需快速验证、高频调参、强审计合规的业务环境。Excel凭借MMULT、SUMIFS等原生函数,天然支持状态转移矩阵构建、n步概率迭代与稳态求解,实现从原始流水到决策洞察的端到端闭环。本文聚焦马尔可夫链、状态转移矩阵两大热词,详解如何在无编程、无插件前提下,用标准Excel完成真实业务预测建模

weixin_30819085的博客 384

认识Excel的第一天(选中、去重、排序、匹配)

之前也挺想学习excel的,但是一直没有学习它的冲动,学了也跟没学似的。现在是不得不学了啊,还好,只是最基础的,慢慢来,碰到问题找度娘再来投入实践中,多来几遍就记住了。下面是我学到的部分知识,给大家分享一下。 1、选中excel表格中的某一列(列)(别再用按住鼠标往下拖的笨办法了,学会给自己偷点懒,哈哈) 选中某一列的快捷键: Ctrl + Shift + ↓ / Ctrl + Shift + ↑ 选中某一行的快捷键:Ctrl + Shift + → / Ctrl ...

m0_52403211的博客 3504

二次开发vba_CATIA VBA(VBS)二次开发:使用Search批量选择元素

在CATIA二次开发中很多在程序中进行自动交互的方法或函数都需要使用选择集作为参数,将几何元素按照要求批量添加到选择集中也是实现程序自动运行的有效方法。在前面的文章《CATIA使用VBA(VBS)二次开发时用户的交互选择》和《CATIA使用VBA(VBS)二次开发时工程图和草图位置的交互选择函数Indicate2D》中介绍了在CATIA VBA(VBS)二次开发中用户和选择集之间的交互操...

weixin_32497403的博客 1321

libjpeg-turbo图片解码 VS opencv

本文对比了libjpeg-turbo和opencv在图像解码层面的耗时情况,及解码数据是否存在diff

优快云_WHB的博客 832

Excel模糊匹配客户名称方法

本文介绍了一个VBA模糊匹配工具,用于将Sheet1中的客户名称与Sheet2中的名称进行相似度匹配。该工具通过计算字符串编辑距离来评估相似度,支持自定义相似度阈值(推荐0.6-0.8),并包含数据预处理功能(如去除空格、统一括号格式、移除常见后缀)。使用时需配置工作表名称、列位置等参数,运行后会将最佳匹配结果写入Sheet2的指定列,同时显示匹配统计信息和耗时。该解决方案特别适合处理名称不规范的数据匹配场景。(150字)

qq_36281532的博客 968

Visual studio 2013 配置 Halcon 13 (非抄袭)

Visual studio 2013 配置 Halcon 13.0.2.2 (其他版本适用) 针对网上抄袭的配置方法均不可用,写了一篇亲试可行的配制方法。如下: 1.下载Halcon安装后(C:\Program Files\MVTec\HALCON-13.0) 添加环境变量,(按下win按键,键入“环境变量”,出现 “编辑系统环境变量”后按下enter即可打开,下方找到“环境变量”按钮)的系...

huyanjackson的专栏 1039

Excel中快速找出相同名字中不相等的值

例如,我们可能有一个包含员工姓名的列,我们需要找出同名的员工中不同的信息。我们可以使用IF和COUNTIF函数来找出同名的员工中不同的信息。这个公式的意思是,如果在同一行中有多个相同的姓名,并且这些行的职位不同(即VLOOKUP(A2, $A。如果我们想要找出同名员工中不同的职位,我们可以使用VLOOKUP函数。然后,我们可以将这个公式应用到整个表格中,以找出所有同名员工中不同的信息。然后,我们可以将这个公式应用到整个表格中,以找出所有同名员工中不同的信息。首先,我们需要创建一个包含员工信息的表格。

理论都是虚的,代码才是王道。 5179

SECS/GSM 测试工具 SecsExpress 的配置与实战应用

本文详细介绍了半导体设备通讯测试工具SecsExpress的配置与实战应用。作为专业的SECS/GSM协议调试工具,它能模拟Host与设备端进行双向测试,帮助工程师快速部署、验证通讯链路,并高效排查与RMS系统或真实设备间的联调问题,是提升半导体工厂设备集成与维护效率的利器。

yhn456789的博客 298

从理论到实践:使用Sigrity SystemSI完成DDR4信号完整性仿真全流程解析

本文详细解析了使用Sigrity SystemSI完成DDR4信号完整性仿真的全流程,从核心挑战到实战操作。文章深入探讨了DDR4信号完整性问题,介绍了SystemSI工具链的演进与分工,并提供了从前期准备到高级技巧的详细指南,帮助工程师有效解决DDR4设计中的信号完整性问题。

weixin_30505225的博客 508

excel部分字段相同模糊匹配_你-早该这么玩 Excel

一本工具书让你从“表哥”菜鸟变成一个有“表妹”的“表哥”。之前谈Excel色变,公式、统计图、数据透视表等等,让我是抓耳挠腮,看到表格我就怕。一次领导的推介,让我们抽时间读读《你早该这么玩Excel》这本书,可能改善一下。该书提到了“懒蚂蚁效应”,大部分蚂蚁都很勤快地寻找、搬运食物、少数蚂蚁却整日无所事事、东张西望,在企业中也存在此现象:一些人平时看上去好像无所事事,但他们花很多时间去思考和提炼,...

weixin_39814454的博客 3102

Open3D (C++) 使用点云创建数字高程模型DEM

Open3D (C++) 使用点云创建数字高程模型DEM

点云侠的博客 1391

excel两列相同匹配第三列_Vlookup函数解决Excel大量数据匹配问题

先来讲讲使用这个函数的场景吧,最近遇到了一个难题,因为新老数据转移的问题,需要将老数据上传到新系统里,现在面临的是A表格内有设备编号,有设备属性,B表格内有设备安装位置,有设备编号,A表格内和B表格内的设备编号就相当于设备唯一ID,我们希望可以将两个表格根据设备唯一ID进行匹配,将设备属性和安装位置进行统一,上千条数据,头大,本人不会代码,想想这些东西,差点儿没猝死,后来问了Excel小...

weixin_39830906的博客 3万+

上位机图像处理和嵌入式模块部署(qmacvisual入门)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 虽然我们前面学习了很多的知识点,比如说在windows这边,用qt写界面,用opencv写图像处理代码;在linux这边先用树莓派测试,最后再部署到自己的平台上面。但是,对于一个商业软件是怎么运行的,很多时候我们心理还是没有底,或者说,自己写的软件距离一个商业软件还有多远,大部分学习的同学是不知道的。 就算有的同学说,这个时候可以借鉴一下vision pro,或者是

嵌入式-老费,一个分享专业嵌入式知识的blog 1227

Kafka 性能优化与常见问题排查

Kafka 的高性能依赖于合理的集群设计、参数优化与高效的监控体系。生产环境中,应重点关注I/O 瓶颈、分区规划、Producer/Consumer 参数调优,并通过监控与排查手段快速定位问题,从而保障 Kafka 在实时场景下的稳定运行。

X2829352498的博客 234

excel中判断某个sheet中数据是否在另一个sheet中

EXCEL-VBA excel中判断某个sheet中数据是否在另一个sheet中 问题:有一个需求,sheet1中定义了一些词,sheet2中有 ID 和 描述,规定如果sheet2中的描述的字段在sheet1中,那么认为是合法的数据,则取出sheet2中的ID。 可以用vba实现: 1.背景:sheet6中的B列定义了一些词;sheet7中是从数据库取出的数据;sheet8是我们准备存放数据的空白表格; 2.在sheet7中编写vba脚本: Option Explicit Sub t

weixin_40459875的博客 5000

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Excel马尔可夫分析实战:零代码构建业务状态转移模型

马尔可夫链是一种描述系统在离散状态间随机演化的基础建模方法,其核心原理是‘无记忆性’——下一状态仅取决于当前状态。该技术无需高深数学推导,却能直观量化用户转化、设备退化、工单流转等动态过程的概率规律,具备强解释性与工程落地性。在实际业务中,它常被用于漏斗分析、生命周期价值(LTV)预测、运维健康度评估等场景,尤其适合数据已结构化、决策需快速响应的中高频分析任务。借助Excel原生函数(如COUNTIFS、MMULT、INDEX),可高效完成状态定义、转移矩阵构建、稳态概率迭代求解及可视化诊断,真正实现‘业务

优快云头条 521

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Oracle数据的导入和导出(Excel)

一般导入数据到Oracle有几种方法!这可是经验之谈哦!分类: Coder 前几天搞了下将excel表导入oracle数据库的问题,连查带问带自己摸索,将自己弄过的方法写出来和大家交流。这些方法也可以用于将其它格式的数据导入到oracle中,这里只是以excel为例。方法一,使用SQL*Loader这个是用的较多的方法,前提必须oracle数据中目的表已经存在。大体步骤如下:1 将excel文...

David 857

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

数据分析只会MYSQL和EXCEL_深入浅出数据分析(一)——MySQL+EXCEL+R统计问卷调查...

深入浅出数据分析(一)——MySQL+EXCEL+R统计问卷调查本篇文章面向对象为小白,大牛扫一眼或看看目录就懂了。目录深入浅出数据分析一MySQLEXCELR统计问卷调查目录确定问题分解分解问题分解数据EXCEL刀光霍霍把数据库内容提取到EXCEL拆分关键内容数据处理R的正则匹配EXCEL数据处理结果总结先说个人背景:本人于2014年暑假参与校就业信息网的开发,其中一个工作就是开发问卷调查系统,...

weixin_36257799的博客 425

Excel数据导入到MySQL

在进行数据管理和转移时,经常需要将excel中的数据导入存储至数据库中,本文将导入的方法细化,并进行描述整理。本次数据库的导入操作使用 Navicat Premium 软件。 新建数据表。使用 Navicat Premium 在选定的数据库中新建和excel表对应的字段表。例如:excel中的字段如下图所示: image-20210805094324289.png 则根据该exc...

攻城老湿的博客 564

将excel数据导入oracle数据表的几种方法

以下介绍将excel表导入oracle数据库的问题。这些方法也可以用于将其它格式的数据导入到oracle中,这里只是以excel为例。数据库使用oracle 9i。 方法一,使用SQL*Loader 这个是用的较多的方法,前提必须oracle数据中目的表已经存在。 步骤如下: 1. 将excle文件另存为一个新文件比如文件名为“clxx.txt”,文件类型选“文本文件(制表符分隔)...

James's blog 708

Excel不可见字符处理:识别、清理与预防全攻略

数据处理中不可见字符是常见但棘手的问题,包括空格、制表符、换行符等ASCII字符,以及零宽度空格等Unicode字符。这些字符会导致数据匹配失败、公式计算错误等问题。通过LEN、CODE等函数可以检测字符,TRIM、CLEAN等函数组合可进行基础清理,而Power Query和VBA则适合批量处理。预防措施包括数据输入控制、导入预处理和质量检查流程。在数据库交互、网页数据抓取等场景中,特别注意不可见字符的影响,确保数据质量。掌握这些方法能有效提升Excel数据处理的准确性和效率。

weixin_30617695的博客 314

EXCEL 数据导入ORACLE的方法汇总(收集)

<br /> <br />摘要:在程序编制过程和数据汇总交换过程中,经常会碰到需要将其他人员在office办公环境下编制的文件数据内容导入oracle中的情况。目前程序开发者经常使用的方法有如下几种:1,使用oracle提供的导入工具sql*loader;2,使用plsql developer工具;3使用其他数据转移工具做中转站。下面我们采用实例的方式分别描述几种导入方式的优缺点及其操作步骤。假设‘e:/test.xls’文件中存在三列数据分别代表客户编号,客户名称和联系电话。其内容如下:<br />100

GeneralXCK的专栏 2538

QGIS实战:矢量数据属性表关联与Excel数据融合技巧

本文详细介绍了在QGIS中实现矢量数据属性表与Excel数据关联的实用技巧,包括字段匹配、关联操作流程及常见问题解决方案。通过实际案例展示如何将空间数据与统计数据融合,提升GIS分析效率,特别适合需要处理SHP文件和Excel数据关联的用户。

potato的博客 1064
下一篇: 关于Cesium中的常用坐标系及说明
龙之吻number7
博客等级 码龄10年 99粉丝 7原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值