以文本方式查看主题 - 易表在线答疑 (http://egrid2000.com/dvbbs/index.asp) -- 用户社区 (http://egrid2000.com/dvbbs/list.asp?boardid=2) ---- [求助]如何按条件删除重复行? (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=1588) |
-- 作者:hzcaqjf -- 发布时间:2011/12/7 17:02:00 -- [求助]如何按条件删除重复行? 即根据某一列的值,来决定删除属于哪几列的重复行. egd文件下载 |
-- 作者:wjq1072 -- 发布时间:2011/12/7 20:00:00 -- 不理解楼主的意思 |
-- 作者:hzcaqjf -- 发布时间:2011/12/8 8:22:00 -- 不好意思,前面没有表述清楚.我的意思是: 如果第一列等于"a",那么只删除第四列中重复的行(只保留一行).第一列不等于"a"的行保持不变. 如果第一列等于"b",那么只删除第三列和第四列同时重复的行(只保留一行).第一列不等于"b"的行保持不变. 如果第一列等于"c",那么删除第二列、第三列和第四列同时重复的行(只保留一行).第一列不等于"c"的行保持不变. if([第一列]="a",DelReptRows(grid,"第四列"),if([第一列]="b",DelReptRows(grid,"第三列","第四列"),if([第一列]="c",DelReptRows(grid,"第二列","第三列","第四列"),true))) 这个按钮公式达不到要求.确实想不出其它的办法,只好向论坛求助.谢谢版主的指点.
|
-- 作者:wjq1072 -- 发布时间:2011/12/8 9:26:00 -- 这样试试? AddCol(Grid,"k",1, False ) And EvalFor(Grid,"k","CountFor(Grid,""第四列"",""="",[第四列],1,Row)") And DelFor(Grid,"第一列","=","a","k"," > ",1) And EvalFor(Grid,"k","CountFor(Grid,""第四列"",""="",[第四列],""第三列"",""="",[第三列],1,Row)") And DelFor(Grid,"第一列","=","b","k"," > ",1) And EvalFor(Grid,"k","CountFor(Grid,""第四列"",""="",[第四列],""第三列"",""="",[第三列],""第二列"",""="",[第二列],1,Row)") And DelFor(Grid,"第一列","=","c","k"," > ",1) And DeleteCol(Grid,"k") |
-- 作者:lyang70 -- 发布时间:2011/12/8 9:30:00 -- 问题: 1、首先要搞明白是删除整行数据还是仅仅清除重复单元格的内容? 2、如果是删除整行数据,假设第一列等于“c”,而第二列、第三列和第四列都用重复内容,哪删除行的次序是怎样的?是四、三、二还是二、三、四或其他? |
-- 作者:hzcaqjf -- 发布时间:2011/12/8 10:08:00 -- 是删除整行. 用wjq1072版主的公式,完全解决了我的问题. 根据wjq1072和lyang70两位老师的提醒,以后提问要说明得清楚、完整一些。 在此感谢! |