@izmail1997

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

Какую функцию ввести в ячейку EXCEL, чтобы тянув за ячейку и с этой функцией у меня появлялись цифры (ряд чисел) 333333322222222111111111 (каждая цифра в отдельной ячейке). Не важно как далеко тяну, важно, чтобы было 33% цифр 3, 33% цифр 2, 33% цифр 1. ИСПОЛЬЗОВАТЬ ТОЛЬКО ФУНКЦИИ., Глобальными настройками ексель нельзя пользоваться.5f9bb981daece529863666.png
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
@ComodoHacker
По сути нам нужно узнать размер всего диапазона и место текущей ячейки в нем. Главная проблема — избежать циклических ссылок.

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

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

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

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

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы