Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: excel. из числа выделить цифры и поделить на 32 Добавлено: 11.07.06 20:26  

Автор вопроса:  wad
Добрый день!
Подскажите, как справиться с такой задачей -
В столбце "А" есть числа(в ячейке от 4-х и более значные цифры; в столбце до тысячи и более ячеек с цифрами
до конца в столбце, может определять по пусотой ячейке, чтобы закончить цикл)
Необходимо из числа в ячейке выделить две последнии цифры, перед двумя этими цифрами поставить точку.
Те цифры которые были выделены из цифры нуно разделить на 32(цифры, которые перед точкой не трогать)
 и весь результат(4-х и более значные цифры, но уже с точкой и остаток после запятой поделеным на 32)
занести в соседнюю ячейкку(т.е. "В" заполнить весь столбец)
спасибо.

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 ViktorZ



ICQ: 271202919 

Вопросов: 56
Ответов: 837
 Профиль | | #1 Добавлено: 11.07.06 21:45
Для начала разбей задачу на под задачи.
сделай руками, запиши макрос и посмотри :-)

Ответить

Номер ответа: 2
Автор ответа:
 wad



Вопросов: 3
Ответов: 6
 Профиль | | #2 Добавлено: 11.07.06 21:48
Да, наверное самое главное забыл сказать, с vba туго у меня. если кто сможет то... буду благодарен.

Ответить

Номер ответа: 3
Автор ответа:
 ADSemenov.ru



Вопросов: 5
Ответов: 276
 Web-сайт: www.adsemenov.ru
 Профиль | | #3
Добавлено: 11.07.06 22:12
____ Просто написать в нужной ячейке выражение: ="" & ЦЕЛОЕ(D8/100) & "." & 100000*ОСТАТ(D8;100)/32 и "протянуть" её на нужное количество строк.

Ответить

Номер ответа: 4
Автор ответа:
 ADSemenov.ru



Вопросов: 5
Ответов: 276
 Web-сайт: www.adsemenov.ru
 Профиль | | #4
Добавлено: 11.07.06 22:15
____ Естественно, вместо D должно быть A. просто так уж получилось у меня :)

Ответить

Номер ответа: 5
Автор ответа:
 wad



Вопросов: 3
Ответов: 6
 Профиль | | #5 Добавлено: 11.07.06 23:51
Спасибо! все на 1-й взгляд работает, да и на все остальные взгляды тоже! ОТЛИЧНО!!!!!!!

если не сложно еще пару вопросов - пояснения.
- ="" определяете пустая ли ячека
- & и пробелы между ???
- ЦЕЛОЕ(А8/100) выделяете целую часть
- "." после целой части ставите точку, так что ли?
- 100000*ОСТАТ(А8;100)/32 остаток 2-х значный делим на 32. Зачем умножаем, что такое 100000*?
спасибо

Ответить

Номер ответа: 6
Автор ответа:
 ADSemenov.ru



Вопросов: 5
Ответов: 276
 Web-сайт: www.adsemenov.ru
 Профиль | | #6
Добавлено: 12.07.06 09:13
____ = означает, что в ячейке не "готовое" (статическое) значение, а "вычисляемая" формула.
____ "" означает "пустая текстовая строка" и все остальные части формулы будут "приводиться" к текстовому формату.
____ & это знак операции "конкатенации" (соединения) символьных строк.
____ "." это символьная строка из одной только точки.
____ Деление на 32 даёт дробную часть не более пяти знаков. Если их не умножить на 100000 (не привести к целому виду), то результат будет содержать запятую, отделяющую целую часть от дробной (если целой части нет, то будет ещё и ноль на её месте). Попробуйте убрать 100000 и сразу станет понятно.

____ Замечу, что весь результат получен в символьном виде и не подлежит использованию в арифметических операциях. На него только можно "смотреть". :)

Ответить

Номер ответа: 7
Автор ответа:
 Незнайка



Вопросов: 7
Ответов: 188
 Профиль | | #7 Добавлено: 12.07.06 11:58
Да уж, уроки Албанского, прямо какие-то!

Ответить

Номер ответа: 8
Автор ответа:
 ADSemenov.ru



Вопросов: 5
Ответов: 276
 Web-сайт: www.adsemenov.ru
 Профиль | | #8
Добавлено: 12.07.06 12:39
Что ж делать — зато образованность населения России повысилась. Так скоро и светлое будущее настанет. :)

Ответить

Номер ответа: 9
Автор ответа:
 wad



Вопросов: 3
Ответов: 6
 Профиль | | #9 Добавлено: 12.07.06 13:19
спасибо ADSemenov!
смотреть на результат это, конечно, интересно, но мне еще потом эти значения нуно обрабатывать)))
что-то можно сделать, чтобы результат еще превратить в число?

Ответить

Номер ответа: 10
Автор ответа:
 ADSemenov.ru



Вопросов: 5
Ответов: 276
 Web-сайт: www.adsemenov.ru
 Профиль | | #10
Добавлено: 12.07.06 14:24
____ С числом тут ситуация несколько другая. Делал "что-то" я как раз чтобы результат получить в символьном виде (из-за условия "точки";). Если результат в числовой форме, то разделитель должен быть естественный (какой установлен в системе). У меня он "запятая". А формула совсем простая: =ЦЕЛОЕ(A12/100)+ОСТАТ(A12;100)/3200

Ответить

Номер ответа: 11
Автор ответа:
 wad



Вопросов: 3
Ответов: 6
 Профиль | | #11 Добавлено: 12.07.06 14:54
:))
как вариант -
целую часть заношу в ячеку В ="" & ЦЕЛОЕ(A6/100)
дробную часть в ячеку С ="" & (100000*ОСТАТ(A6;100)/32)/1000000

ну и слкладываю два результата в ячейке D =C6+B6
:) ну и формат ячейки D чисо=ло десятичных знаков 6.
через одно место получается у меня, наверное можно короче:)

Ответить

Номер ответа: 12
Автор ответа:
 ADSemenov.ru



Вопросов: 5
Ответов: 276
 Web-сайт: www.adsemenov.ru
 Профиль | | #12
Добавлено: 12.07.06 15:48
[QUOTE=wad]как вариант
____ Числа в символьном формате нельзя складывать. Будет сложение двух нулей. Текст воспринимается как 0.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам