Строка 1-4 является примером данных, которые мне даны, и я пытаюсь получить строки 7-17. Реальный список, с которым я работаю, имеет длину более 10000 строк, поэтому, если бы я мог использовать ту же формулу из всего списка, которая была бы идеальной, любая помощь будет принята с благодарностью, так как я любитель в excel.

Изображение лучшего качества прилагается здесь

1 ответ1

0

Нет простого способа добиться этого с помощью формул.

Вам нужно будет написать код программы Visual Basic, чтобы сделать это. Если вы хотите попробовать это, используйте Macro Recorder и вручную продублируйте первую строку, изменив номера, а затем посмотрите на записанный макрос. Это не простая задача, и даже опытному программисту для этого может понадобиться полчаса или больше.

Вот моя рекомендация для ручного подхода (при условии, что вам нужно сделать это только один раз, а не снова и снова):

  1. найдите максимальное значение копий, которое вам нужно, например, 20.
  2. скопировать все строки в 20 раз ниже существующего блока
  3. заполните все поля в скопированных строках формулой, которая принимает значение над ним и добавляет 1
  4. сортировать всю связку. Теперь у вас должен быть каждый оригинал 20 раз, с числом, считающимся вверх. Эти четыре шага должны занять меньше минуты.
  5. удалить лишние строки, блок за блоком (это утомительная часть)

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