Foxtable(狐表)用户栏目专家坐堂 → [求助]怎样用狐表来实现求找出现频率最低的数据


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

主题:[求助]怎样用狐表来实现求找出现频率最低的数据

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
[求助]怎样用狐表来实现求找出现频率最低的数据  发帖心情 Post By:2012/11/26 18:23:00 [显示全部帖子]

工程师专家们:

      你们好,在excel表格中有一个叫MODE的函数可以用来求找众数(在一组数据中出现频率最多的数据),但却没有哪个函数可以用来求找在一组数据中出现频率最少的数据,我想问一下,假设我在狐表的第1至第100行中分别输入了30个人的姓名,其中每个人的姓命都至少输入过2次,也有的重复输入了3--5次,当我点击同列的第101行时,凡是只输入过2次的姓名就会分别在同列的第101行、102行、103行等行中依次显示出来,这样应该事先在狐表表属性的事件中的datecolchangging中输入什么样的代码呢,我想的以下代码对吗,如果不对,应是什么样的代码呢?

select case e.datacol.name
     case "1"sting"100"
         e.datarow("101"string) = less.frequency(CDbl(e.NewValue), 101string)
 end select


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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2012/11/27 14:05:00 [显示全部帖子]

我这样做的目的是想快速简捷地统计出在一组数据中出现频率或出现次数最少的数据,比如说名单中,加班次数最少的人;各种鞋码号中,购买人数最少的鞋码号。

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2012/11/27 16:47:00 [显示全部帖子]

若不在末尾行,在另一张工作表,如表B或表C中把某份名单中出现次数最少的姓名这个结果显示在其中一列中也行啊。


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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2012/11/29 13:43:00 [显示全部帖子]

lin_hailun

   你发给我的这个“管理项目1.table”文件打不开,每次点打开时,它总提示“文件版本过高,无法正常打开,请升级您的foxtable“!,能否发个ppt版的给我(因为多数电脑都能打开ppt),谢谢!


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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2012/12/5 15:10:00 [显示全部帖子]

lin_hailun

   麻烦你能不能帮我看一下你发给我的这个“管理项目1.table”(附件中已被重命名过 ),刚才我试验了一下,当我在表A的第1至12行中分别输入4次“你”4次“我”4次“他”后,再在第12、13行中分别输入“你”“我”后,再点击button1时,表B的第1、2行却无任何显示,若真是显示频率最低的值,应该显示“他”才对。


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:求找频率最低值1.table


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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2012/12/6 16:34:00 [显示全部帖子]

lin_hailun

   麻烦你能不能帮我看一下你于2012-11-27 17:07:00 回复给我的这个“管理项目1.table”(附件中我已重命名了),刚才我试验了一下,当我在表A的第1--12行中分别输入4个“你”4个“我”4个“他”后,再在第13、14行中分别输入“你”“我”后,再点击button1时,表B的第1、2行都无任何显示,如果真是求找出现频率最低的值,那应该显示“他”才对,并且我还发现,这个“管理项目1.table”好像只能求找重复次数是两次的数值,我猜想是不是编写代码上哪儿还不对?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:求找频率最低值1.table


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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2012/12/12 14:06:00 [显示全部帖子]

lin_hailun

   你于2012-11-27 17:07:00回复给我的这个“管理项目1.Table”,我又试验了多次,确实是只能查找重复次数是二次的数值,而非严格的查找出现频率最低的数值,我还把“管理项目1.Table”的代码也输出来看了一下,如下 

项目事件

 

计划管理

 

表事件

 

窗口表事件

 

窗口与控件事件

 

窗口1_Button1_Click

 

Dim names As List(Of String) = DataTables("表A").GetUniqueValues("", "第一列")

For Each name As String In names

    If DataTables("表A").Compute("Count(_Identify)", "第一列 = '" & name & "'") = 2 Then

        Dim ndr As DataRow = DataTables("表B").AddNew

        ndr("第一列") = name

    End If

Next

MainTable = Tables("表B")

 

自定义函数

 

全局代码

 

菜单事件

 

据我估计是 

If DataTables("表A").Compute("Count(_Identify)", "第一列 = '" & name & "'") = 2 Then

这一句中后面“=2”应怎样把它改写成“=重复次数最低的数值”,才能筛选出出现频率最低的数值,

但是我大学时VB编程课考了两次都未及格,所以我也不知道该怎样编写这样的代码,也请各位大师或高手帮忙吧!

 


 回到顶部