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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2017, 10:30   #1
saashaamaar
Новичок
Джуниор
 
Регистрация: 09.04.2017
Сообщений: 1
По умолчанию Проблема в excel, нечисловые значения

Добрый день!

Случилась такая проблема. Есть долгий цикл получения необходимых мне чисел, в конечном итоге заканчивается тем, что питон на выходе мне выдает значения, нужные мне. Думалось мне, что вот оно счастье, теперь провести небольшую статистику по этим значениям и будет счастье и результаты работы, но не тут-то было. Эксель пишет, что я не могу ничего сделать потому что все значения для него не числовые. Как с этим побороться?

Построить надо мне графики моды, медианы, дисперсии и среднего квадратичного отклонения.

п.с. Я поменял точки на запятые и наоборот уже несколько раз, не помогло.
Вложения
Тип файла: xlsx эксель с данными.xlsx (584.2 Кб, 17 просмотров)
saashaamaar вне форума Ответить с цитированием
Старый 09.04.2017, 11:38   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

открыл файл,
поставил курсор в первую ячейку
Ctrl+H
Зайти: .
Заменить на: .
(у меня разделитель целых и дробных - точка)
Заменить все
(75тыс... замен произведено)
Ок

всё! все - теперь числа
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 10.04.2017, 07:49   #3
китин
Пользователь
 
Регистрация: 27.03.2017
Сообщений: 12
По умолчанию

Код:
Sub Макрос777()
Dim rn As Range
For Each rn In Intersect([a:f], ActiveSheet.UsedRange)
If rn Like "*#.#*" Then
rn = Val(rn) ', ".", ",")
rn.NumberFormat = "0.0000"
End If
Next
End Sub
макрос в модуль листа, Alt+ F8 . выделить название-выполнить.
Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
китин вне форума Ответить с цитированием
Старый 10.04.2017, 08:35   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Для одного столбца обычно удобно "текст по столбцам->готово"
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 на форуме Ответить с цитированием
Старый 10.04.2017, 09:46   #5
Miguel Sanchez
Пользователь
 
Регистрация: 09.03.2011
Сообщений: 33
По умолчанию

А где код?
Можно присвоением массиву с типом variant и последующим выкидыванием в нужный диапазон.
Формат сам меняется на числовой в массиве.

Sub dataconvert()
Set wkRng = ActiveSheet.Cells.Item(1).CurrentRe gion
ReDim arr(wkRng.Rows.Count, wkRng.Columns.Count) As Variant
'Debug.Print UBound(arr, 1) & " X " & UBound(arr, 2)
arr = wkRng.Value
ActiveSheet.UsedRange.Item(1).Offse t(0, wkRng.Columns.Count + 1).Resize(UBound(arr, 1), UBound(arr, 2)) = arr
End Sub

Если убрать Offset, вставит поверх исходного.

Последний раз редактировалось Miguel Sanchez; 10.04.2017 в 09:51.
Miguel Sanchez вне форума Ответить с цитированием
Старый 10.04.2017, 15:02   #6
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

В окно immediate:
Код:
Cells.Replace ".", ".", 2
и нажать enter.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
excel вставляет неправильные значения Volodymyr Microsoft Office Excel 6 13.02.2019 11:19
Excel редактирование значения StringGrid b1nnar Общие вопросы Delphi 0 16.03.2017 17:41
Нечисловые данные в области данных сводной таблицы Доктор Microsoft Office Excel 3 02.11.2016 17:02
Excel. Отклонение от среднего значения. TheX3 Помощь студентам 1 20.11.2010 17:34
Повторяющиеся значения в Excel shumares Microsoft Office Excel 2 07.02.2010 14:53