繁体   English   中英

Excel计算模式和单元格

[英]Excel counting patterns and cells

我想知道是否有办法:

我有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。

到目前为止,我已经

=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单元模式。

尝试使用此用户定义的函数:它似乎可以工作,但尚未完全测试。 如果将公式放在x天跨度的中间,该函数将产生一个循环公式问题,如果将范围放在多于1行的范围内,该函数可能会崩溃并燃烧。

我无法弄清楚内置Excel函数的任何组合来对一系列范围进行这种渐进式计数,但可以使用SUMPRODUCT和其他深奥公式来完成。 但是,以前花了几个小时想出一个可爱的公式来执行复杂的任务,以后任何人(包括我)都不会理解,所以最好的办法是编写一些可以调试并根据需要进行更改的代码。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM