2

Я искал этот ответ, и я уверен, что это невероятно просто, но я нигде не могу его найти.

У меня есть очень простая, но большая формула = SUM(H2:H5, H7, H22:H23, H28:H30, H33, H41, H43:H46 ..... и т.д.), И в соседней ячейке я хочу, чтобы она показалась подсчет количества ячеек в этой сумме без необходимости вручную подсчитывать каждый отдельный экземпляр каждой ячейки. Спасибо

2 ответа2

1

Создайте новый столбец, который помечает строки в столбце H которые вы хотите включить в SUM:

                        электронная таблица с использованием SUMPRODUCT и COUNT

Это может облегчить поддержание выбора строки.  Например, если он основан на других данных (например, СУММ бюджеты проектов, которые отстают от графика), столбец I может быть формулой.  Кроме того, это позволит вам условно отформатировать столбец H чтобы указать, какие ячейки включены в сумму.  (Если столбец I заполняется формулой, которая оценивается в 0 или 1 , в отличие от (пусто) или 1 , то формула в K1 должна быть изменена с =COUNT(I:I) на =SUM(I:I) .)

0

Следующая пользовательская функция, COUNTSUMCELLS(), возвращает количество ячеек, используемых в формуле суммы. Использование простое - если ячейка A1 содержит формулу суммы, COUNTSUMCELLS(A1) возвращает количество ячеек, использованных в формуле.

Function CountSumCells(sumCell As Range) As Long

  ' Returns a count of the cells used in a sum formula. If there is a
  ' circular reference, returns #VALUE!.

  Dim sFormula As String

  sFormula = sumCell.formula
  sFormula = Mid(sFormula, 6, Len(sFormula) - 6)

  If Not (Intersect(Application.Caller, Range(sFormula)) Is Nothing) Then
    CountSumCells = CVErr(xlErrValue)
  End If

  CountSumCells = Range(sFormula).count

End Function

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .