Foxtable(狐表)用户栏目专家坐堂 → 如何设置公式或编写代码统计?


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

主题:如何设置公式或编写代码统计?

美女呀,离线,留言给我吧!
rirong
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:20 积分:236 威望:0 精华:0 注册:2015/7/6 9:38:00
如何设置公式或编写代码统计?  发帖心情 Post By:2015/8/29 17:46:00 [只看该作者]

工程师:

        您好!请查看附件中的表结构和大概内容,我想统计列明为“盘”的数据中,10个“输”后下一盘是“赢”的有多少个?9个“输”后下一盘是“赢”的有多少个?如此类推一直算到1个“输”后下一盘是“赢”的有多少个?请问应该怎样设置公式或代码实现?

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20150829173514.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2015/9/1 12:03:24编辑过]

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


加好友 发短信
等级:狐神 帖子:4752 积分:34568 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2015/8/29 17:49:00 [只看该作者]

上例子

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/29 19:17:00 [只看该作者]

参照这个
Dim dic As New Dictionary(of Integer,String)

Dim s() As String = {"输","输","赢","赢","输","输","赢","输","输"}
Dim i As Integer = 0
Dim count As Integer =0
Dim current As String
For Each s1 As String In s
    If s1<> current Then
        count = 1
        i+=1
        dic.Add(i,s1 & count)
        current = s1
    Else
        count +=1
        dic(i) = s1 & "|" & count
    End If    
Next
For Each k As Integer In dic.Keys '显示所有键及其对应的值
    Output.Show(K & ":" & dic(k))
Next

[此贴子已经被作者于2015/8/29 19:18:04编辑过]

 回到顶部
美女呀,离线,留言给我吧!
rirong
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:20 积分:236 威望:0 精华:0 注册:2015/7/6 9:38:00
按照你的代码执行出现错误  发帖心情 Post By:2015/9/1 11:04:00 [只看该作者]

你好!请问Dim s() As String = {"输","输","赢","赢","输","输","赢","输","输"}这个语句只是统计这串字符里的字吗?还是可以统计整个表里成百甚至上千个“输赢”?
我要的是假设有200行的数据,在列名为”盘“的输赢数据中分别统计出”十个输下一个赢“有出现有多少次?把结果显示在列名为”十个输下一个赢“下面的单元格内。
                                                                                      ”九个输下一个赢“有出现有多少次?把结果显示在列名为”九个输下一个赢“下面的单元格内
                                                                                      ”八个输下一个赢“有出现有多少次?把结果显示在列名为”八个输下一个赢“下面的单元格内
                                                                                      。。。。。。
                                                                                      ”一个输下一个赢“有出现有多少次?把结果显示在列名为”一个输下一个赢“下面的单元格内

图片点击可在新窗口打开查看此主题相关图片如下:输赢统计例子.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:输赢统计例子.rar

请问我可以直接加你QQ吗?我QQ是17430566
图片点击可在新窗口打开查看此主题相关图片如下:错误提示.jpg
图片点击可在新窗口打开查看


 回到顶部
美女呀,离线,留言给我吧!
rirong
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:20 积分:236 威望:0 精华:0 注册:2015/7/6 9:38:00
统计输赢数据例子  发帖心情 Post By:2015/9/1 11:06:00 [只看该作者]

你好!请查看附件例子。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:输赢统计例子.rar

请问我可以加你QQ吗?我QQ是17430566
图片点击可在新窗口打开查看此主题相关图片如下:输赢统计例子.jpg
图片点击可在新窗口打开查看

 回到顶部
美女呀,离线,留言给我吧!
rirong
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:20 积分:236 威望:0 精华:0 注册:2015/7/6 9:38:00
请专家帮忙看看  发帖心情 Post By:2015/9/1 12:05:00 [只看该作者]

请专家帮忙看看

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/1 12:31:00 [只看该作者]

Dim t As Table = Tables("表A")
Dim count As Integer = 0
t.Rows(0)("十个输下一个赢") = 0
t.Rows(0)("九个输下一个赢") = 0
For Each r As Row In t.Rows
    If r("盘") = "输" Then
        count += 1
    ElseIf r("盘") = "赢" Then
        Select Case count
            Case 10
                t.Rows(0)("十个输下一个赢") += 1
            Case 9
                t.Rows(0)("九个输下一个赢") += 1
            Case 8
               
            Case 7
               
            Case 3
               
        End Select
        count = 0
    End If
Next

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


加好友 发短信
等级:狐神 帖子:4752 积分:34568 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2015/9/1 12:50:00 [只看该作者]

'表格中某列D
Dim sts,st As String
Dim drs As List(of DataRow) = DataTables("表A").Select("","_SortKey")
If drs(0)("盘") = "输" '判断第一行值是否为"A"
    sts = "输"
End If
For i As Integer = 1 To drs.Count - 1
    If drs(i)("盘") = drs(i-1)("盘") AndAlso drs(i)("盘") = "赢"
        Continue For
    Else
        sts += drs(i)("盘")
    End If
Next
Output.Show(sts)
Dim dic As new Dictionary(of String,Integer)
For i As Integer = 0 To sts.Split("赢").Length-2
st = sts.Split("赢")(i)
        If dic.ContainsKey(st)
            dic(st) += 1
        Else
            dic.Add(st,1)
        End If
Next
For Each key As String In dic.Keys
    output.show(key & ":" & dic(key))
Next

 回到顶部
美女呀,离线,留言给我吧!
rirong
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:20 积分:236 威望:0 精华:0 注册:2015/7/6 9:38:00
请问这段代码应在哪里输入?  发帖心情 Post By:2015/9/1 13:41:00 [只看该作者]

谢谢您的回复,请问这段代码应在哪里输入?

 回到顶部
美女呀,离线,留言给我吧!
rirong
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:20 积分:236 威望:0 精华:0 注册:2015/7/6 9:38:00
请问这段代码应在哪里输入?  发帖心情 Post By:2015/9/1 13:43:00 [只看该作者]

请问这段代码应在哪里输入?

 回到顶部
总数 18 1 2 下一页