以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]筛选后判断重复值 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=169583) |
||||
-- 作者:412873264 -- 发布时间:2021/6/22 0:06:00 -- [求助]筛选后判断重复值 如附件所示,在按钮中,以第四列“单位”为筛选条件,若筛选结果的第一列、第二列、第三列两两相互比较(同列内部比较,同行不同列间比较等),只要存在相同值的个数大于等于2的情况,则提醒重复。比如,第四列以“g”为筛选条件,则筛选出第10-11行,“欣凯”的数量为2,”磷化”“高分子””
铁饼”“管子”的数量为1,则提醒重复。感谢老师。 |
||||
-- 作者:有点蓝 -- 发布时间:2021/6/22 8:35:00 --
|
||||
-- 作者:412873264 -- 发布时间:2021/6/22 13:42:00 -- 蓝老师,这个文件打不开,提示“文件版本过高,无法正常打开,请升级您的Foxtable!” |
||||
-- 作者:有点蓝 -- 发布时间:2021/6/22 13:43:00 -- 请升级您的Foxtable带最新版 |
||||
-- 作者:412873264 -- 发布时间:2021/6/23 23:11:00 -- 蓝老师,您给的例子所示的统计,只解决了同一列字段的比较;不同数据列间的字段统计与判断(即判断筛选出来的结果中,A列、B列间有是否存在相同字段),应如何解决? |
||||
-- 作者:有点蓝 -- 发布时间:2021/6/24 9:31:00 -- 没看懂,截图说明一下 |
||||
-- 作者:412873264 -- 发布时间:2021/6/24 11:50:00 -- 如截图,以第四列的\'g\'筛选后,不仅仅统计同列内的相同值,还需要统计第1、2、3列之间的值是否有重复。比如第1、2列的“欣凯”,第2、3列的“管子”;“欣凯”“管子”有重复,需要提醒“重复”。 ![]() ![]() |
||||
-- 作者:有点蓝 -- 发布时间:2021/6/24 11:58:00 -- 比如查询第一列数据是否出现在第二列、第三列 If dt1.Find("客户 in (\'" & dt2.GetComboListString("工序").Replace("|","\',\'") & "\',\'" & dt3.GetComboListString("品名规格").Replace("|","\',\'") & "\')") & "\')") IsNot Nothing Then msgbox("重复") End If |
||||
-- 作者:flashman -- 发布时间:2021/6/24 12:56:00 -- 思路: 利用字典的特性,对筛选后的行列进行遍历。 Dim t As Table = Tables("询价表") Dim zd As New Dictionary(Of String, Integer) For Each r As Row In t.Rows For i As Integer = 0 To 2 Dim c As String = t.Cols(i).name If zd.ContainsKey(r(c)) = False Then \'是否存在键1 zd.Add(r(c),1) Else zd(r(c)) = zd(r(c)) + 1 End If Next Next For Each k As String In zd.Keys If zd(k) > 1 Then Output.Show(K & ":重复" & zd(k) & "次") End If Next |
||||
-- 作者:412873264 -- 发布时间:2021/6/24 13:39:00 -- 收到。感谢指导。 |