Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перестроить треугольную матрицу в прямоугольную. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перестроить треугольную матрицу в прямоугольную. (Макросы/Sub)
Перестроить треугольную матрицу в прямоугольную.
Milken Дата: Вторник, 04.08.2015, 15:08 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Привет Всем!
Это мой первый пост, поэтому сильно не бейте)

Столкнулся с такой задачей.
Существует динамическая треугольная корреляционная матрица. (построенная "Анализ данных\Описательная статистика\корреляция". Или в VBA - Application.Run "ATPVBAEN.XLAM!Mcorrel") Количество элементов может быть от 2 до 250.

Как зеркально симметрично заполнить матрицу до прямоугольной?

В голову приходит только: Создать доп лист, Транспонировать матрицу, и используя "Если" склеить 2 матрицы. Но это утяжелит расчет.
Есть еще варианты как быстрее сделать?

P.S. Может еще кто знает почему рассчитывая матрицу вручную "Анализ данных\Описательная статистика\корреляция" по времени корматрица рассчитывается в 10ки раз быстрее, нежели средствами vba: Application.Run "ATPVBAEN.XLAM!Mcorrel". При Матрице 50 на 50 расчет в Вба занимает около 15 минут, а в ручную менее минуты.
К сообщению приложен файл: Cor.xlsm (29.6 Kb)
 
Ответить
СообщениеПривет Всем!
Это мой первый пост, поэтому сильно не бейте)

Столкнулся с такой задачей.
Существует динамическая треугольная корреляционная матрица. (построенная "Анализ данных\Описательная статистика\корреляция". Или в VBA - Application.Run "ATPVBAEN.XLAM!Mcorrel") Количество элементов может быть от 2 до 250.

Как зеркально симметрично заполнить матрицу до прямоугольной?

В голову приходит только: Создать доп лист, Транспонировать матрицу, и используя "Если" склеить 2 матрицы. Но это утяжелит расчет.
Есть еще варианты как быстрее сделать?

P.S. Может еще кто знает почему рассчитывая матрицу вручную "Анализ данных\Описательная статистика\корреляция" по времени корматрица рассчитывается в 10ки раз быстрее, нежели средствами vba: Application.Run "ATPVBAEN.XLAM!Mcorrel". При Матрице 50 на 50 расчет в Вба занимает около 15 минут, а в ручную менее минуты.

Автор - Milken
Дата добавления - 04.08.2015 в 15:08
KSV Дата: Вторник, 04.08.2015, 15:31 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
Как зеркально симметрично заполнить матрицу

например, так


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщение
Как зеркально симметрично заполнить матрицу

например, так

Автор - KSV
Дата добавления - 04.08.2015 в 15:31
Milken Дата: Вторник, 04.08.2015, 15:39 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
KSV, Ого! Спс! Количество элементов в матрице только меняется. Диапазон докрутить еще бы.
 
Ответить
СообщениеKSV, Ого! Спс! Количество элементов в матрице только меняется. Диапазон докрутить еще бы.

Автор - Milken
Дата добавления - 04.08.2015 в 15:39
KSV Дата: Вторник, 04.08.2015, 16:48 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
так?
(где вместо [A1] можно написать любую ячейку треугольной матрицы)

Кстати, Вашу процедуру можно подсократить:


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщениетак?
(где вместо [A1] можно написать любую ячейку треугольной матрицы)

Кстати, Вашу процедуру можно подсократить:

Автор - KSV
Дата добавления - 04.08.2015 в 16:48
Milken Дата: Среда, 05.08.2015, 10:23 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
KSV, Мегареспект все работает как надо. Старый код тоже подправил. Огромное спасибо!
 
Ответить
СообщениеKSV, Мегареспект все работает как надо. Старый код тоже подправил. Огромное спасибо!

Автор - Milken
Дата добавления - 05.08.2015 в 10:23
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перестроить треугольную матрицу в прямоугольную. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!