Foxtable(狐表)用户栏目专家坐堂 → 找出每行3个以上的重复数字


  共有2231人关注过本帖树形打印复制链接

主题:找出每行3个以上的重复数字

帅哥哟,离线,有人找我吗?
y2287958
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2024/8/5 8:02:00 [显示全部帖子]

没看明白


 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2024/8/5 9:32:00 [显示全部帖子]

说说规则,还是看不明白


 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2024/8/5 16:31:00 [显示全部帖子]

与其他行对比,是怎样的对比


 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2024/8/5 23:27:00 [显示全部帖子]

也就是其他行所有列,不包括当前行呗。明天上班看看,有办法。

 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2024/8/6 7:54:00 [显示全部帖子]

Dim 列名集 As New List(Of String)({"第一列", "第二列", "第三列", "第四列", "第五列"})
Dim 集合 As New List(Of Integer)(Tables("表A10").rows.Select(Function(行) CInt(行("第一列"))))
For Each 列名 As String In 列名集.skip(1)
    集合.AddRange(Tables("表A10").rows.Select(Function(行) CInt(行(列名))))
Next
集合 = 集合.GroupBy(Function(元素) 元素).where(Function(元素) 元素.count > 3).Select(Function(元素) 元素.key).tolist
For Each 行 As Row In Tables("表A10").rows
    行("第六列") = String.Join(" ", 集合.Intersect(列名集.select(Function(列名) CInt(行(列名)))))
    Output.Show(String.Join(" ", 集合.Intersect(列名集.select(Function(列名) CInt(行(列名))))))
Next

 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2024/8/6 11:42:00 [显示全部帖子]

发个项目上来测试


 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2024/8/6 16:25:00 [显示全部帖子]

附件打不开

 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2024/8/6 16:35:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:aaa.foxdb


 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2024/8/7 8:17:00 [显示全部帖子]

Dim 表数据集 As New List(Of String)
For Each 行 As Row In Tables("表C").rows
    表数据集.Add(行("第一列") & "," & 行("第二列") & "," & 行("第三列") & "," & 行("第四列") & "," & 行("第五列") & "," & 行("第六列"))
Next 

Dim 结果集 As New List(Of String)
For i As Integer = 0 To 表数据集.Count - 1 
    Dim 序列 = 
    From 元素1 In 表数据集(i).split(",") 
    From 元素2 In 表数据集(i).split(",") 
    From 元素3 In 表数据集(i).split(",")
    Where 元素1 <> 元素2 AndAlso 元素1 <> 元素3 AndAlso 元素2 <> 元素3 
    Select 元素1 & "," & 元素2 & "," & 元素3
        
        Dim 组合集 As New List(Of String)
        For Each 元素 As Object In 序列
            组合集.Add(String.join(",", CStr(元素).split(",").OrderBy(Function(子元素) 子元素)))
        Next
        
        For Each 组合 As String In 组合集.distinct
            Dim lst As New List(Of String)
            If 表数据集.skip(i + 1).where(Function(表数据) 表数据.split(",").Intersect(组合.split(",")).count = 3).count > 0 Then
                结果集.Add(i & ":" & 组合)
            End If 
        Next
    Next
    结果集 = 结果集.groupby(Function(元素) 元素.split(":")(0)).
    select(Function(元素1) 元素1.key & ":" & String.join("/", 元素1.select(Function(元素2) 元素2.split(":")(1)))).tolist
'    Output.Show(String.join(vbcrlf, 结果集))

    DataTables("表C").ReplaceFor("第七列", "")
    For Each 结果 As String In 结果集
        Tables("表C").rows(结果.split(":")(0))("第七列") = 结果.split(":")(1)
    Next

 回到顶部