• Как правильно написать функцию в ячейке EXCEL, чтобы появлялся определенный ряд последовательности чисел?

    @ComodoHacker
    По сути нам нужно узнать размер всего диапазона и место текущей ячейки в нем. Главная проблема — избежать циклических ссылок.

    Например, с помощью COUNTA() можно определить, сколько ячеек заполнено слева. Или справа. Но вот использовать и то, и другое в одной формуле не получается, т.к. возникают циклические ссылки.

    Позицию текущей ячейки можно ещё определить с помощью COLUMN() и вычесть фиксированное смещение. Это небольшой хак, может можно и лучше.

    Дальше уже простая арифметика. Получаем распределение в диапазоне 0-1, умножаем на 3, округляем.

    Например, для начальной ячейки C4:
    =CEILING((COUNTA(D4:$XFD4) + 1) / (COUNTA(D4:$XFD4) + COLUMN() - 2) * 3; 1)

    Для другой начальной ячейки нужно поправить константу в "COLUMN() - 2".
    Ответ написан
    1 комментарий