ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何根据纵横向之和与各分项之差校对数据

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-8-20 16:08 | 显示全部楼层 |阅读模式
有很多表,表中总人数的第一列数字是各行之和,最后一列是和与各分项之差,为0则该行正确。
第一行数字是各列之和。最后一行是和与各分项之差,为0则该列正确。

上述是手工校对的办法,发现错误手工输入校正。

但在校对时发现很有规律,如果任何一个单元格校对不正确,行、列之差都不能全为0。
看似很有规律,但总也找不到这个规律是什么,大概是数学、矩阵之类的。
求助高人能否找到这个规律,以VBA解决自动校对并更正错误的单元格。
自动更改错误人数.rar (14.16 KB, 下载次数: 5)
无标题.png

TA的精华主题

TA的得分主题

发表于 2018-8-20 16:14 | 显示全部楼层
每行每列加一次与上面的数对比一下就知道差别是多少啦

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-20 17:45 | 显示全部楼层
本帖最后由 zhusong1998 于 2018-8-20 17:48 编辑
microyip 发表于 2018-8-20 16:14
每行每列加一次与上面的数对比一下就知道差别是多少啦

我把每行每列都加了,也把公式留在表格下面,纵向校对行和横向校对列里都是公式,也可以手工去修改,直到修改到为0。
但总感觉这里面有规律可循,可以以程序来处理这个规律。

TA的精华主题

TA的得分主题

发表于 2018-8-20 18:30 | 显示全部楼层
zhusong1998 发表于 2018-8-20 17:45
我把每行每列都加了,也把公式留在表格下面,纵向校对行和横向校对列里都是公式,也可以手工去修改,直到 ...

这个有什么规律不规律的,不就是数独游戏里的填数而已

TA的精华主题

TA的得分主题

发表于 2018-8-20 19:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub cc()
Set d = CreateObject("scripting.dictionary")
arr = [a1:j14]
For x = 2 To 14
  For y = 2 To 10
  d(arr(x, 1) & arr(1, y)) = arr(x, y)
Next y: Next x
brr = [a17:j30]
For i = 2 To 14
   For j = 2 To 10
   If d(brr(i, 1) & brr(1, j)) - brr(i, j) <> 0 Then
   Cells(i, j).Interior.ColorIndex = 3
   End If
Next j: Next i
End Sub

TA的精华主题

TA的得分主题

发表于 2018-8-20 19:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
码在审核,先上附件看件参考

TA的精华主题

TA的得分主题

发表于 2018-8-20 19:52 | 显示全部楼层
码在审核,先上附件看件参考

自动更改错误人数.rar

34.4 KB, 下载次数: 2

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-21 09:49 | 显示全部楼层
iwangyi 发表于 2018-8-20 19:47
Sub cc()
Set d = CreateObject("scripting.dictionary")
arr = [a1:j14]

抱歉,是我没有表达清楚,害得您编了那么代码,我再细说下。
1、校对前没有正确的数据表,所以无法对照是否缺少数据或是哪地方缺少数据。目前我是公式法判断哪一行哪一列出现了问题,再对非0的行和列一个一个地校对。
2、不仅要判断哪地方缺少数据,还要判断缺少哪一个数字并更正过来。

我再重新上传一下数据文件,里面有三个级各个班级的统计表,另有初中的统计表

虽然可以用公式来校对,但总感觉用VBA做更有趣,以至于不能自拔。

只能求助大家,更深入学习VBA了。

自动更改错误人数.rar (13.91 KB, 下载次数: 9)

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-21 09:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
microyip 发表于 2018-8-20 18:30
这个有什么规律不规律的,不就是数独游戏里的填数而已

嗯,您说的很对,开始也想到数独游戏,但与数独不同,数独表很规整,而我这个数据表不规整。

TA的精华主题

TA的得分主题

发表于 2018-8-21 09:58 | 显示全部楼层
zhusong1998 发表于 2018-8-21 09:55
嗯,您说的很对,开始也想到数独游戏,但与数独不同,数独表很规整,而我这个数据表不规整。

实际上,数独规则跟你目前需求的规则是一样的,都是要求横竖数值和一致,不同的是,你横竖数值和不固定,数独的横竖数值和是固定而已
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-14 20:04 , Processed in 0.029192 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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