формула ниже должна вычислять режим всех значений, где они соответствуют критериям.
Единственная проблема заключается в том, что вместо того, чтобы в формуле массива было «M2 = etc», «M3 = etc», «M4 = etc», все значения равны «M2», что не имеет смысла, так как массив должен «заполнить «


Sub ModeColumn()
Dim wb As Workbook, ws As Worksheet, LastRow As Long
Set wb = ThisWorkbook
Set ws = Worksheets("Data")
ws.Cells(1, 15) = "MODE"
LastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row 'Finds the bottom populated row
With ws.Range(ws.Cells(2, 15), ws.Cells(LastRow, 15))
.FormulaArray = "=IFERROR(MODE(IF(RC[-2]=AllSites,R2C12:R" & LastRow & "C12)),""N/A"")"
End With
End Sub
Обратите внимание, что я дошел до этого путем конвертации записанных макросов Selection
, Active
и т. Д.