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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2010, 23:22   #1
uranmaximum
 
Регистрация: 01.07.2010
Сообщений: 4
По умолчанию Форматирование

Здравствуйте! Есть источник числовых данных, но они поставляются не в том виде, в каком нужно. Проще говоря, необходимо переводить эти данные в такой формат, чтобы можно было их рассчитывать и строить диаграммы. Во вложении два примера. Тот, у которого в названии латиница, это и есть источник, который нужно переводить в другой формат - его вид во втором файле.
Вложения
Тип файла: rar GMKN_090628_100628.rar (100.6 Кб, 15 просмотров)
uranmaximum вне форума Ответить с цитированием
Старый 01.07.2010, 23:57   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
это и есть источник, который нужно переводить в другой формат - его вид во втором файле
Вынужден Вас огорчить - миссия невыполнима.
В итоговом файле есть данные, которых нет в источнике, и никак их не вычислить.

К примеру, никакая программа не догадается, что GMKN - это ГМК Норильский никель, ао
А чтобы догадалась, нужна либо табличка со списком аббревиатур и соответствующих им полных названий, либо доступ к сайту, откуда можно скачать необходимую информацию.

Но это мелочи.
Гораздо сложнее получить другие данные, такие как Оборот и Число сделок
Я, конечно, плохо разбираюсь в биржевых делах, но догадываюсь, что имея из данных только 4 цены <OPEN> <HIGH> <LOW> <CLOSE>, невозможно вычислить ни Оборот, ни Число сделок


PS: А если вам нужно лишь добиться того, чтобы excel воспринимал значения в столбцах <OPEN> <HIGH> <LOW> <CLOSE> как числа, а не как текст, - так это делается очень просто:
1) выделяем столбцы с E по H включительно
2) в меню жмём Правка - Заменить
3) меняем точку на запятую

Дату и время можно получить в дополнительных столбцах при помощи формул, или же обработать данные прямо в этих же столбцах макросом.

PPS: А разве нет возможности получить те же данные из другого источника, или же из этого же, но в другом формате?

Последний раз редактировалось EducatedFool; 02.07.2010 в 00:05.
EducatedFool вне форума Ответить с цитированием
Старый 02.07.2010, 00:08   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Проще говоря, необходимо переводить эти данные в такой формат, чтобы можно было их рассчитывать и строить диаграммы.
вы ошибаетесь,не переводить в формат-а создать почти аналитическую программу по анализу.Знакомая картина.
Могу но только за хорошее .Поищите по форуму,где-то полгода назад темы были.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 02.07.2010, 08:44   #4
uranmaximum
 
Регистрация: 01.07.2010
Сообщений: 4
По умолчанию

Спасибо за комментарии! да, единственное, что нужно сделать - это перевод в числовой формат. Там все данные в куче. Надо их по ячейкам разбивать, чтобы можно было расчеты делать, с которыми уже и сам справлюсь. Попробовал сделать через функцию заменить, заменял ";" на точку, но ничего не получается - заменяет, но данные остаются в куче. Есть еще вопрос, попроще уже, как перевернуть ряд наоборот, если там есть такая возможность?
uranmaximum вне форума Ответить с цитированием
Старый 02.07.2010, 11:25   #5
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

Цитата:
Сообщение от uranmaximum Посмотреть сообщение
Спасибо за комментарии! да, единственное, что нужно сделать - это перевод в числовой формат. Там все данные в куче. Надо их по ячейкам разбивать, чтобы можно было расчеты делать, с которыми уже и сам справлюсь. Попробовал сделать через функцию заменить, заменял ";" на точку, но ничего не получается - заменяет, но данные остаются в куче. Есть еще вопрос, попроще уже, как перевернуть ряд наоборот, если там есть такая возможность?
Если Вы о переведении данных из ряда в столбец - функция транспонировать.

Справка Excel:

ТРАНСП

См. также

Возвращает вертикальный диапазон ячеек в виде горизонтального и наоборот. Функция ТРАНСП должна быть введена как формула массива в интервал, который имеет столько же строк и столбцов, сколько столбцов и строк имеет аргумент массив. Функция ТРАНСП используется для того, чтобы поменять ориентацию массива на рабочем листе с вертикальной на горизонтальную и наоборот.
EugeneS вне форума Ответить с цитированием
Старый 02.07.2010, 11:54   #6
uranmaximum
 
Регистрация: 01.07.2010
Сообщений: 4
По умолчанию

Мне почему-то кажется, что отвечают дети))) Я не правильно назвал столбец рядом. Ряд - это массив числовых данных, а не в ексель ряд я имел ввиду.

В общем надо сделать так.
1
2
3
4
5

перевести в

5
4
3
2
1

Элементарно, только куда ткнуть?
uranmaximum вне форума Ответить с цитированием
Старый 02.07.2010, 11:57   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Элементарно, только куда ткнуть?
Добавляем справа столбец со значениями 1,2,3, ...., n
Выделяем диапазон ячеек, потом сортировка таблицы по этому столбцу - меню Данные - Сортировка - По убыванию.
EducatedFool вне форума Ответить с цитированием
Старый 02.07.2010, 12:00   #8
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Еще вариант

Элементарно.пишете пользовательскую функцию
сохраняете диапазон значений в массив,делаете реверс в массиве.
Вставляете его обратно
Вот и все
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 02.07.2010, 17:00   #9
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Цитата:
Сообщение от uranmaximum Посмотреть сообщение
Мне почему-то кажется, что отвечают дети)))
Ну да, Вы торлько на аватары посмотрите - все как на подбор младенцы. Кроме меня. Я серьезный
=ИНДЕКС($A$1:$A$10;СЧЁТ($A$1:$A$10)-СТРОКА(1:1)+1)
vikttur вне форума Ответить с цитированием
Старый 03.07.2010, 01:41   #10
uranmaximum
 
Регистрация: 01.07.2010
Сообщений: 4
По умолчанию

В общем, специалисты, был прав EducatedFool, за что спасибо. Надо было просто тупо поменять точку на запятую.
uranmaximum вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условное форматирование! BRM Microsoft Office Excel 6 18.12.2009 16:56
Форматирование в RichEdit Kib Общие вопросы Delphi 0 28.06.2009 00:27
Форматирование текста. Altera Общие вопросы Delphi 3 11.05.2009 23:29
Форматирование строк Propan Microsoft Office Excel 15 04.05.2009 06:47
форматирование beygul Помощь студентам 13 07.02.2009 21:18