Foxtable(狐表)用户栏目专家坐堂 → [求助]非空单元格计数


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

主题:[求助]非空单元格计数

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


加好友 发短信
等级:五尾狐 帖子:1137 积分:11224 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]非空单元格计数  发帖心情 Post By:2020/6/23 9:04:00 [只看该作者]

老师好!
下面的代码把空单元格也计数了,是什么问题?

Dim t As Table = Tables("表A")
For Each r As Row In t.Rows
    Dim sum As Double = 0
    For Each c As Col In t.Cols
        If c.name Like "*第*" Then
            If r(c.name) IsNot Nothing Then
                sum += 1
            End If
        End If
    Next
    msgbox(sum)
Next


图片点击可在新窗口打开查看此主题相关图片如下:截屏图片 (1).jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/23 9:08:00 [只看该作者]

            If r.isnull(c.name)=falseThen
                sum += 1
            End If

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


加好友 发短信
等级:五尾狐 帖子:1137 积分:11224 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2020/6/23 10:15:00 [只看该作者]

谢谢蓝老师!
这样写错在哪里?
Dim cous As Integer = 0

For Each dr As DataRow In Tables("表A").DataTable.DataRows
    If dr IsNot Nothing Then
        cous = iif(dr.isnull("第一列")=False ,1,0) + iif(dr.isnull("第二列")=False ,1,0) + iif(dr.True("第三列")=False ,1,0)
     End If
Next

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/23 10:22:00 [只看该作者]

要实现什么功能?

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


加好友 发短信
等级:五尾狐 帖子:1137 积分:11224 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2020/6/23 12:40:00 [只看该作者]

对参与计算平均数的单元格计数。如图中1-5列,有些可能是空值。

图片点击可在新窗口打开查看此主题相关图片如下:截屏图片 (2).jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/23 13:59:00 [只看该作者]

cous = cous + iif(dr.isnull("第一列")=False ,1,0) + iif(dr.isnull("第二列")=False ,1,0) + iif(dr.True("第三列")=False ,1,0)

 回到顶部