单元格的位置添加到SUM公式

有没有办法将单元格的位置添加到SUM公式中?

我有以下For Each … Next循环,而不是只计算包含值为1的单元格的数量,我想将这样一个单元格的具体位置添加到SUM公式。

Dim rng As Range, cell As Range Set rng = Range("I3:DC70") For Each cell In rng If cell.Value = 1 Then Range("DF4").Value = Range("DF4").Value + 1 Next cell 

这可能吗?

你将不得不使用.Find.FindNext 。 你可以在这里阅读。 当你有一个大的数据集时,这种方法比循环要快得多。

这是我写得很快的东西。 请修改它以适应您的需求。

 Sub Find_Cells_Which_Has_My_Damn_String() Dim WhatToFind As String Dim aCell As Range, bCell As Range Dim SearchRange As Range, rng As Range Dim ws As Worksheet '~~> Set this to the relevant worksheet Set ws = ThisWorkbook.Sheets("Sheet1") '~~> Set here what to find WhatToFind = "1" '~~> Set this to the relevant range Set SearchRange = ws.Cells Set aCell = SearchRange.Find(What:=WhatToFind, LookIn:=xlValues, _ LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False) If Not aCell Is Nothing Then Set bCell = aCell Set rng = aCell Do Set aCell = SearchRange.FindNext(After:=aCell) If Not aCell Is Nothing Then If aCell.Address = bCell.Address Then Exit Do Set rng = Union(rng, aCell) Else Exit Do End If Loop End If If Not rng Is Nothing Then MsgBox rng.Address Else _ MsgBox "No cells were found containing " & WhatToFind End Sub 

截图

在这里输入图像说明