Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2015, 02:47   #1
teranod
Новичок
Джуниор
 
Регистрация: 04.02.2015
Сообщений: 3
Стрелка Помогите транспонировать 2мер. массив в 1мерн!

В excel 2003 Необходимо транспонировать ДВУХМЕРНЫЙ массив в ОДНОМЕРНЫЙ.

Перерыл весь интернет есть только примеры транспонирования 2хмерных в 2хмерные массивы!!! а какже быть с переводом 2х мерного в 1мерный???

Помогите плз голову уже сломал!

Например имеем:
1 2 3 4 5 6 7
а б в г д е ё
a b c d e f j

Должны получить:
1
а
a
2
б
b
3
в
c
4
г
d
5
д
e
6
е
f
7
ё
g

Такое вообще возможно в Excel 2003 при помощи транспонирования??? у меня 109 столбцов по 5 строчек в каждой - в ручную это катастрофа!

Последний раз редактировалось teranod; 04.02.2015 в 02:58.
teranod вне форума Ответить с цитированием
Старый 04.02.2015, 03:52   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Перерыл весь интернет
не надо было этого делать, в интернете и так всех вверх дном, достаточно в А6 написать это
Код:
=ИНДЕКС($1:$5;ОСТАТ(СТРОКА()-1;5)+1;1+ЦЕЛОЕ((СТРОКА()-1)/5))
а потом скопировать в 539 ячеек ниже
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 05.02.2015, 14:19   #3
teranod
Новичок
Джуниор
 
Регистрация: 04.02.2015
Сообщений: 3
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
не надо было этого делать, в интернете и так всех вверх дном, достаточно в А6 написать это
Код:
=ИНДЕКС($1:$5;ОСТАТ(СТРОКА()-1;5)+1;1+ЦЕЛОЕ((СТРОКА()-1)/5))
а потом скопировать в 539 ячеек ниже
Извиняюсь я напутал в первом сообщении... на самом деле мне нужно из этого:
1 а f АА FF
2 б q ББ QQ
3 в w ВВ WW
4 г s ГГ SS
5 д z ДД ZZ

Перевести в это:
1
а
f
АА
FF
2
б
q
ББ
QQ
3
в
w
ВВ
WW
4
г
s
ГГ
SS

Последний раз редактировалось teranod; 05.02.2015 в 14:35.
teranod вне форума Ответить с цитированием
Старый 05.02.2015, 14:29   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

На планете 23 ответа...
Хотя не, там в основном беседа с "подсевшим на хвост"...
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 05.02.2015 в 14:32.
Hugo121 вне форума Ответить с цитированием
Старый 05.02.2015, 14:58   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

))
количество данных не поменялось хоть? (5 строк по 109 значений)
в А6:А551
Код:
=ИНДЕКС($1:$5;1+ЦЕЛОЕ((СТРОКА()-6)/109);1+ОСТАТ(СТРОКА()-6;109))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 05.02.2015, 15:35   #6
teranod
Новичок
Джуниор
 
Регистрация: 04.02.2015
Сообщений: 3
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
))
количество данных не поменялось хоть? (5 строк по 109 значений)
в А6:А551
Код:
=ИНДЕКС($1:$5;1+ЦЕЛОЕ((СТРОКА()-6)/109);1+ОСТАТ(СТРОКА()-6;109))
Спасибо сработало - то что нужно! минут 10 втыкал в формулу - думаю еще часа 3 просижу понимая как её научится применять в обратном порядке...

если вам несложно можете дать еще 1 формулу для точно такого же условия но только в том случае если у меня 5 столбцов по 109 строк?

Гениально!
teranod вне форума Ответить с цитированием
Старый 05.02.2015, 16:53   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

))))
однако
данные в колонках А..Е, в строках с 1 по 109
в любую колонку за колонкой Е, начиная с 1-й ячейки вниз 5045 раз
Код:
=ИНДЕКС($1:$109;1+ЦЕЛОЕ((СТРОКА()-1)/5);1+ОСТАТ(СТРОКА()-1;5))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 05.02.2015, 16:55   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Думаю проще один раз написать универсальный макрос, работающий с выделенной областью.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 05.02.2015, 17:12   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ага, и еще один важный параметр:
порядок выборки данных из диапазона - ПОСТРОЧНО (если ДА, то сначала выбираются данные из первой строки, потом из второй, иначе сначала данные из первой колонки, потом из второй...)))

результат выводи в колонку, а транспонировать с строку можно и вручную (если нужно)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 05.02.2015 в 17:14.
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal. транспонировать матрицу Vadislav Помощь студентам 2 16.11.2014 19:00
Транспонировать таблицу Maxim360 Microsoft Office Excel 1 06.08.2013 14:18
C# транспонировать матрицу xq1b Помощь студентам 2 21.11.2012 16:02
Транспонировать матрицу на паскале sidestep Паскаль, Turbo Pascal, PascalABC.NET 1 24.09.2011 15:54
Транспонировать матрицу Nerside92 Помощь студентам 1 24.12.2009 21:40