Как перезапустить число, если значение ячейки = 0

Смотрел, как делать это весь день.

Я пытаюсь получить автоматический сброс, если ячейка попадает на 0, но я просто не могу найти формулу или VBA, чтобы помочь в этом.

  • Как отключить раздражающие предупреждения о совместимости в Excel?
  • Слишком много текста для ячейки Excel - как сделать прокручиваемую ячейку
  • Разбейте большой файл CSV
  • Как вы настраиваете быстрые клавиши Excel 2010?
  • CSV на лист Excel снова
  • Сохранение файла в формате CSV в Excel всегда удаляет спецификацию
  • A1 9 B1 9 C1 0 D1 9 E1 9 F1 9 G1 9 H1 36 (I would like it to = 36, resetting at any cell showing 0 and not show 54 

    В полях A1: G1 ежедневно работают часы в списке, в H1 – часы, полностью обработанные на этой неделе. (Однако я пытаюсь установить этот сброс, если есть 0-часовой день / День отдыха)

    Есть ли формула, которая может это сделать?

  • Как переносить и группировать данные в Excel 2010?
  • Слияние MS Word 2007 с ошибками происходит в почтовых кодах с ведущими нулями (например, 01234)
  • Как выбрать переключатели по значению ячейки в Excel?
  • Переместить каждые 7 столбцов в новую строку в Excel
  • Сортировка столбца Excel по IP-адресу
  • Таблица Excel, вставляющая старую формулу в новые строки. Как я могу вернуться к новой формуле?
  • 3 Solutions collect form web for “Как перезапустить число, если значение ячейки = 0”

    Мы можем использовать строку «помощник». В A2 введите: =A1 в B2 введите:

     =IF(B1=0,0,B1+A2) 

    И копировать. Наконец, в H1 введите: =G2

    Введите описание изображения здесь

    Wih BVA / Макросы

     Public Function sumreset(dataRange As Range) totalSum = 0 totalLength = -1 indicator = "none" totalLengthRows = dataRange.Rows.Count totalLengthCols = dataRange.Columns.Count If (totalLengthRows = 1) And (totalLengthCols > 1) Then totalLength = totalLengthCols indicator = "cols" ElseIf (totalLengthRows > 1) And (totalLengthCols = 1) Then totalLength = totalLengthRows indicator = "rows" End If For i = totalLength To 1 Step -1 Select Case indicator Case "rows" nextData = dataRange(i, 1) Case "cols" nextData = dataRange(1, i) End Select If nextData <> 0 Then totalSum = totalSum + nextData Else i = 1 End If Next i sumreset = totalSum End Function 

    Откройте VBA / Макросы с помощью ALT + F11, в разделе ThisWorkbook вставьте модуль и вставьте этот код с правой стороны.

    На ячейке H1 put =sumreset($A$1:$G$1) и все.

    Вот простой макрос, который будет делать именно то, что вы хотите. Это работает с горизонтальным или вертикальным диапазоном

     Function SumAfterZero(rng As Range) As Double Dim r As Range Dim output As Double For Each r In rng If r = 0 Then output = 0 Else output = output + r End If Next r SumAfterZero = output End Function 

    Как и выше, просто положите =SumAfterZero(A1:G1) в ячейку H1.

    Давайте будем гением компьютера.