[英]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.