我想知道是否有办法:
我有1000个细胞。我想看看x在7个细胞周期中放置了多少次,
IE中。 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个具有不同7个单元格模式的1000个单元组。
答案 0 :(得分:0)
尝试这个用户定义的功能:它似乎工作,但没有完全测试。如果您将公式放在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