首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel计数模式和单元格

Excel计数模式和单元格
EN

Stack Overflow用户
提问于 2016-01-14 18:26:21
回答 1查看 140关注 0票数 0

我想知道是否有办法:

我有1000个细胞。我想看看x被放置在7个细胞周期中的次数,

即。将x放置在单元格1和3中,这将算作1。

将x放置在单元格1、8和9中,这将算作2。

X放在细胞1,2,3,4,5,6,7,8,9,10,11,170中。这个算作3。

到目前为止,

代码语言:javascript
复制
=SUM(IF(COUNTA(M77:N77)=0,0,1),IF(COUNTA(O77:P77)=0,0,1),IF(COUNTA(Q77:R77)=0,0,‌​1)) 

不确定VBA是否会更容易,然而,它需要不断更新,并将比较10至12个银行的1000个不同的7-细胞模式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-14 23:31:46

试试这个用户定义的函数:它看起来很有效,但还没有完全测试。如果你把公式放在x-天跨度的中间,这个函数就会产生一个循环公式问题,如果你的范围超过1行,它很可能会崩溃和烧毁。

我无法找到任何内置Excel函数的组合来完成这种范围序列的渐进式计数,但它可能可以使用SUMPRODUCT和其他深奥的公式来完成。然而,在之前花了几个小时试图想出一个可爱的公式来完成复杂的任务之后,没有人(包括我)会理解,你最好的选择就是编写一些代码,你可以根据自己的需要进行调试和修改。

但是,最终,您将不得不问自己使用电子表格来执行类似数据库的功能是否值得。我想,考虑到您给出的业务描述,您可能需要尽快问自己这个问题:)

代码语言:javascript
复制
Public Function CountRangeSpanEntries(span As Integer, rng As Range) As Integer


Dim length As Integer
length = rng.Columns.count

Dim count As Integer
count = 0

Dim rw As Integer
rw = rng.Row

Dim used As Boolean
Dim index As Integer
Dim i As Integer

For index = 1 To length Step span
    For i = index To index + span - 1
        If Cells(rw, i).Value = "x" Then
            used = True
            End If
    Next i
    If used Then
        count = count + 1
        End If
used = False
Next index

CountRangeSpanEntries = count


End Function
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34797024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档