吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14962|回复: 227
收起左侧

[原创工具] [20230807更新]Excel双列数据对比工具,适用于财务的现金日记账核对

    [复制链接]
wjbych 发表于 2023-7-24 15:06
本帖最后由 wjbych 于 2023-8-8 11:53 编辑

2023-08-08修改一下bug:
1、修改保留法核对的一个错误
2、对于借方和贷方在同一行上都有数据的情况,保留法核对适用,删除法核对不适用
3、对于借方和贷方在同一行上只有一个数据的情况,两种核对法都适用
4、对于保存时出错的问题,这个可以用Ctrl+C 和Ctrl+V来复制数据,导致出错是因为表格中某些单元格有问题,存在不可见的对像

下载附件 双列对比工具.rar (401.92 KB, 下载次数: 538)


感谢【沙罗树下】提供的改进建议和样例表。

今天做了个更新,使它更适用于核对现金日记账和会计往来,需要注意的是名称中要有借方和贷方


更新如下:
1、更新了界面,由简单按钮变成置顶工具栏了。
2、增加了一种核对方式,就是会删除掉核对上的行,保留没有核对上的,叫删除法核对
3、原有的核对方式还继续存在,叫保留法核对,会标记借方哪一行和当前的贷方是核对上的。
4、原来只能是A、B两列,现在可以是任意列,借方和贷方两列也不用挨在一起,比如借方在第一列,贷方在第4列,这也是可以核对的


需要注意的:
1、导入表格时可以有任意列,但第一行一定要是列名称。
2、列名称中必需要包含【借方】和【贷方】这两个列名称,找不到这两个是无法核对的
3、核对完成后,想要再次核对时,需要重新打开 Excel表格,包括使用两种核对方法时。


下载附件 核对.rar (415.79 KB, 下载次数: 241)


image.png

image.png

image.png



不知道用公式能否实现,但公式肯定实现不了如此的细节效果,还是软件方便一些,依次打开、核对、保存三个按钮就解决问题了


Excel双列对比工具,主要用于核对同一个表格中的AB两列数据,适用于核对财务的现金日记账,反正公司财务就是这么用的
使用了好几年了,但没有论坛账号也无法发上来供大家使用,今天整理了一下,希望对需要的朋友有所帮助
一、需要注意的事项如下
1、只支持xlsx格式的excel表格,xls格式的reogrid控件不支持
2、表格中只保留AB两列,如果有其他列,会影响核对结果的显示
3、工作表的名称只能为sheet1,这是本人赖,也是为了避免大家选择表
4、使用C#开发,运行时需要.net 4.0环境

二、核对的原理和功能
1、A、B两列放在双循环中进行核对,AB两列中有多个重复的数据不会影响核对准确性,先从A列中取一个数据,然后从B列第一个数据开始核对,至到未尾,如果核对上了就进行标记并记录,核对下一条记录时会自动跳过
2、A、B两列中核对过的数据会加上绿色背景
3、C列中会显示核对的过程,记录A列第几行和B列第几行是相同的。
4、后边两列会显示AB两列中没有核对上的数据,以便于人工手动核对
5、如果想再次核对,只需要保留AB列,并设置AB列的背景色为“无填充”
6、自带了一个样例表供测试

三、截图

image.png

image.png

image.png

Excel双列对比.rar (441.24 KB, 下载次数: 912)
image.png
image.png
image.png

免费评分

参与人数 43吾爱币 +45 热心值 +37 收起 理由
caoxuexin + 1 + 1 谢谢@Thanks!
LiiJuu + 1 谢谢@Thanks!
tujssia + 1 + 1 8月8日的软件,一直提示没有找到借方列,麻烦能否更新下
Lcstar + 1 + 1 热心回复!
outerstone + 1 我很赞同!
xingyuan5219 + 1 + 1 我很赞同!
D0AYA + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ilovelbh + 1 传了一个公式法的 供参考
vlinfeng + 1 + 1 谢谢@Thanks!
高高的洁白的花 + 1 + 1 用心讨论,共获提升!
笑里藏刀 + 1 热心回复!
ytw6176 + 2 + 1 谢谢@Thanks!
lij365 + 1 + 1 谢谢@Thanks!
reveanime + 1 + 1 谢谢@Thanks!
grrr_zhao + 1 + 1 谢谢@Thanks!
mbslyh + 1 谢谢@Thanks!
tinglan2012 + 1 谢谢@Thanks!
ds106130 + 1 + 1 谢谢@Thanks!
deoger + 1 + 1 谢谢@Thanks!
UDB555 + 1 + 1 热心回复!
盗版用户 + 1 我很赞同!
Shenzhishou + 1 + 1 谢谢@Thanks!
keyInBox + 1 + 1 谢谢,先插眼,后面再深入理解使用
wuhuaipojie + 1 + 1 谢谢@Thanks!
xshmbjinpai + 1 + 1 谢谢@Thanks!
yeah1 + 1 + 1 我很赞同!
xiaoli33 + 1 + 1 谢谢@Thanks!
ulife + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
SSMNXXX + 1 + 1 谢谢@Thanks!
xzkr + 1 + 1 谢谢@Thanks!
andreeeee + 1 + 1 谢谢@Thanks!
wang1989 + 1 + 1 谢谢@Thanks!
wei32573258 + 1 + 1 谢谢@Thanks!
aniu + 1 + 1 谢谢@Thanks!
不会上树的鱼 + 1 + 1 谢谢@Thanks!
hcm3292 + 1 + 1 谢谢@Thanks!
XWZ1002 + 1 我很赞同!
ptjmzcr + 1 谢谢@Thanks!
haorehaore + 1 + 1 我很赞同!
抱薪风雪雾 + 1 + 1 谢谢@Thanks!
一丝风 + 1 + 1 我很赞同!
yanglinman + 1 谢谢@Thanks!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| wjbych 发表于 2023-7-25 08:26

主要是给我们财务上核对现金日记账用的,人工对起来费时间,用这后只需要对没对上的那部分就行了
 楼主| wjbych 发表于 2023-7-30 08:50
山海书 发表于 2023-7-28 23:01
巨佬,能不能给个VB代码学习一下

我就是个小白,两列对比就和人工对比没区别,只是电脑速度快,点了核对后如下,代码随心所欲写的,不要在意变量的名称
[Visual Basic .NET] 纯文本查看 复制代码
Private Sub btn_hd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_hd.Click
        Dim excel = Reo_excel.CurrentWorksheet
        Dim max_row As Integer
        Dim max_col As Integer = 3

        max_row = excel.RowCount - 1
        excel(0, 2) = "核对"
        excel.SetRowsHeight(0, 1, 30)  '设置行高
        'excel.Cells(0, 2).Style.BackColor = Color.Green

        For i = 1 To max_row
            excel(i, 2) = "0"
        Next

        '开始核对,第一列和第二列开始对比
        Dim I1, J1, H1 As String
        For i = 1 To max_row
            I1 = ""
            If excel(i, 0) Is Nothing Then
                excel(i, 0) = 0
            End If
            I1 = excel(i, 0).ToString

            For j = 1 To max_row
                J1 = ""
                H1 = ""
                If excel(j, 1) Is Nothing Then
                    excel(j, 1) = 0
                End If
                J1 = excel(j, 1).ToString
                H1 = excel(j, 2).ToString
                If I1 = J1 Then
                    If H1 = "0" Then
                        excel.Cells(i, 0).Style.BackColor = Color.Green
                        excel.Cells(j, 1).Style.BackColor = Color.Green
                        excel(j, 2) = i + 1 & "-->" & j + 1
                        Exit For
                    End If
                End If
            Next
        Next

        '整理核对后的数据
        Dim num As Integer = 1
        Dim c1, c2 As Color
        For i = 1 To max_row
            c1 = excel.Cells(i, 0).Style.BackColor
            If c1.Name <> "ff008000" Then
                excel(num, 5) = excel(i, 0).ToString
                num += 1
            End If
        Next

        num = 1
        For i = 2 To max_row
            c2 = excel.Cells(i, 1).Style.BackColor
            If c2.Name <> "ff008000" Then
                excel(num, 6) = excel(i, 1).ToString
                num += 1
            End If
        Next
        MessageBox.Show("双列数据已经核对完成!", "核对提醒", MessageBoxButtons.OK, MessageBoxIcon.Information)
    End Sub

lsm009 发表于 2023-7-24 23:25
suhaoyue 发表于 2023-7-25 05:34
数据相同的优先匹配第一个
wangdachui1988 发表于 2023-7-25 07:14
&#128077;,最近在学作图,经常需要整理对比两列数据
tcxd1993 发表于 2023-7-25 07:20
实用工具  感谢分享
liyi19731231 发表于 2023-7-25 07:43
实用工具  感谢分享
hummel 发表于 2023-7-25 08:08
小巧实用啊!
 楼主| wjbych 发表于 2023-7-25 08:25
suhaoyue 发表于 2023-7-25 05:34
数据相同的优先匹配第一个

是了,匹配过的再次遇到时就跳过了,以前是用spire实现的,但那个咱没有买授权,重写了一下。
liubiguan 发表于 2023-7-25 08:28
这个很方便哦,不用一个一个对了,眼睛也不用受罪了。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-23 17:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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