В чем проблема? Это вопрос ссылки на соседние ячейки или условного расчета значений? Относительно относительных ссылок смотрите ответ Евгения. Чтобы условно вставить содержимое, вы можете объединить функцию IF вместе с функцией CONCATENATE:
=IF(CONCATENATE(B1;C1) <> "";1;"")
Объединение результатов в строку, если одна из сцепленных ячеек содержит значение.
Если содержимое для вставки зависит от строки выше, вам нужно будет либо запустить таблицу во второй строке, либо использовать функцию, отличную от второй строки:
=IF(CONCATENATE(B2;C2) <> "";SUM(A1;1);"")
Следующий момент - что делать, если, например, в восьмой строке нет значений в B8:C8. Просто увеличение значения вышеупомянутой ячейки в A9 начнется снова с 1:
Если вы хотите продолжить подсчет, вам нужно будет посчитать ячейки выше от текущей, которые не являются пустыми или 0. Есть функция COUNTIF, которая делает именно это. Итак, ваша функция может выглядеть так (снова начиная со строки 2):
=IF(CONCATENATE(B2;C2) <> "";SUM(COUNTIF($A$1:A1;">0");1);"")
или разделить на разные строки и с комментариями:
=IF(
CONCATENATE(B2;C2) <> ""; # Condition to check
SUM( # output if condition matches
COUNTIF($A$1:A1;">0");# count cells from $A$1 to cell above if not 0
1 # augment value by 1
);
"" # output if condition doesn't match
)
Это функция для второго ряда; просто скопируйте ячейку в следующие строки. Это должно дать следующий результат: