Страницы: 1
RSS
Копирование столбца с данными N раз, в каждом новом строки не совпадают друг с другом
 
Доброго времени. Помогите пожалуйста с такой задачей.
Есть столбец с данными от 1 -100, нужно его скопировать N раз ( вручную указываю кол-во столбцов) и тоже вручную указать кол-во ячеек в столбце, чтобы в каждом последующем столбце с данными в каждой строке цифры были разные.
Например. 1-столбец 1-100. Хотим получить 5 столбцов по 35 ячеек в каждом.
Получаем:
2 столбец 1-35,
3 столбец 2-36
4 столбец 3-37

Можно еще такой способ сортировки

Например. 1-столбец 1-100. Хотим получить 5 столбцов по 35 ячеек в каждом.
Получаем:
2 столбец 1-35,
3 столбец 36-70
4 столбец 71-5
5. 6-40
6. 41-75

Или даже пусть сортировка будет любая, лишь бы значения в столбцах не пересекались между собой b2 не равно c2
Заранее спасибо
Изменено: Дмитрий С - 25.09.2022 13:20:38
 
Вот нашел такую формулу

=ИНДЕКС($A$2:$A$9999;СТРОКА()+(СТОЛБЕЦ()-3)*$B$2)

может кто бы подсказал как правильно прописать ее. Нужно получить 74 столбца

посмотрите пример.  
 
Так?
Код
=IF((ROWS(A$1:A1)-1)>=$B$2;"";INDEX($A$2:$A$9999;ROWS(A$1:A1)+(COLUMN()-3)*$B$2))
Изменено: memo - 25.09.2022 14:17:49
 
memo, не понял про вашу строчку с кодом, куда ее вставлять ?

вот что должно получится ( вложение) пришел к этому немного на коленке, скопировал данные в первом столбце 40 раз, есть такой макрос ) - потом выделил 74 столбца и перенес куда надо

Хотелось бы в пару нажатий решить эту задачу )
 
Дмитрий С, Я же приложил файл. Вставляете в ячейку С2 и тянете вправо и вниз.
Код
=IF((ROWS(A$1:A1)-1)>=$B$2;"";INDEX($A$2:$A$9999;ROW()+(COLUMN()-3)*$B$2))
 
Цитата
написал:
Дмитрий С , Я же приложил файл. Вставляете в ячейку С2 и тянете вправо и вниз.
Но в вашем файле не получается 74 заполненных столбца данными из первого столбца, только 3.  
 
Вы последний файл из сообщения №5 (лист2) смотрели? Все в точности с вашим примером. Или я чего-то не понимаю?
 
Цитата
написал:
Вы последний файл из сообщения №5 (лист2) смотрели? Все в точности с вашим примером. Или я чего-то не понимаю?
Да, только у меня на листе 1, заполнены все 74 столбца цифрами из исходных данных, а у вас только 3 столбца а дальше нули.
 
Это какая-то шутка?
Вами заполненный лист1

Результат работы формулы из сообщения №5 на листе2
Изменено: memo - 26.09.2022 06:47:20
 
Цитата
написал:
вот что должно получится ( вложение) пришел к этому немного на коленке, скопировал данные в первом столбце 40 раз, есть такой макрос ) - потом выделил 74 столбца и перенес куда надо. Хотелось бы в пару нажатий решить эту задачу )
Я извиняюсь, что возможно не смог точнее объяснить что мне надо.

1. Есть данные ( числовой массив) заполнен в столбце А. Количество цифр в массиве может быть всегда разное.
2. Нужно указать кол-во столбцов
3. Нужно указать кол-во ячеек в столбце

Далее получается как в примере формула протягивает (массив) на кол-во столбцов.

Можно ли сделать чтобы не копировать данные ( в столбце А) по 40-50 раз чтобы их хватило на нужное кол-во столбцов ?  
 
Дмитрий С, Хорошо, давайте все уточним.
Вы указываете нужное кол-во строк, как в ячейке В2 и по указанному числу при копировании в другой столбец должна происходить отсечка данных. Так?
Затем, вы пишите.
Цитата
Дмитрий С написал:
Нужно указать кол-во столбцов
, хотя в примере у вас такого не было. Вы просто упомянули, что данные должны скопироваться на 74 столбца.
У нас уже есть формула, которая это делает, но когда в столбце А кончаются данные, то она естественно начинает возвращать нули.
Но как это совместить с этим?
Цитата
Дмитрий С написал:
Можно ли сделать чтобы не копировать данные ( в столбце А) по 40-50 раз чтобы их хватило на нужное кол-во столбцов ?  
Т.е. формула должна рассчитать на сколько столбцов хватит данных из столбца А? Потому что из вашего примера на 74 столбца их точно не хватает.
 
Цитата
написал:
Вы указываете нужное кол-во строк, как в ячейке В2 и по указанному числу при копировании в другой столбец должна происходить отсечка данных. Так?
Да

в первом сообщении я указал:

Цитата
написал:
Есть столбец с данными от 1 -100, нужно его скопировать N раз ( вручную указываю кол-во столбцов) и тоже вручную указать кол-во ячеек в столбце,
Цитата
написал:
У нас уже есть формула, которая это делает, но когда в столбце А кончаются данные, то она естественно начинает возвращать нули.
А можно чтобы она не возвращала нули а заново начинала подтягивать данные из столбца а ( по кругу ) пока не заполнит нужное кол-во столбцов ?
 
Т.е. число нужных столбцов все таки надо указывать?
Вообще, предполагаю, что макросом это проще сделать чем формулой, может кто возьмется. А я подумаю над формулой.
 
Вот так вроде
Код
=ЕСЛИ((СТРОКА(C1)>$B$2)+(СТОЛБЕЦ(A2)>$B$5);"";ИНДЕКС($A:$A;ОСТАТ(СТРОКА(C1)+СТОЛБЕЦ(A2)-2;СЧЁТ($A:$A))+2))
Изменено: _Boroda_ - 26.09.2022 16:55:06
Скажи мне, кудесник, любимец ба’гов...
 
_Boroda_, Я думаю, ТС нужно как на Листе3. Пока сделал вручную, чтобы ТС подтвердил что это то самое.
 
Я понял так
Цитата
Дмитрий С написал:
заново начинала подтягивать данные из столбца а ( по кругу ) пока не заполнит нужное кол-во столбцов ?
Но неважно, пусть выбирает  :D
Скажи мне, кудесник, любимец ба’гов...
 
Вот такой вариант. Для начала на Листе3 с малым кол-вом данных.
Код
=IF(((ROWS(A$1:A1)-1)>=$B$2);"";IFERROR(INDEX($A$2:$A$9999;IF(COLUMNS($C$2:C2)>$B$4;"";MOD((ROW(C1)-1)+(COLUMN(C$1)-3)*$B$2;COUNTA($A$2:$A$9999)-1)+2));""))

В ячейке В2 задаем кол-во строк в столбце, в В4 кол-во столбцов.
 
Спасибо большое. То что надо.
Страницы: 1
Наверх