Помогите пожалуйста решить проблему. Есть база данных, в данном случае прайс-лист. Для загрузки в кассовый аппарат нужно сократить номенклатуру до 28 символов в ячейке, т.е. из каждого слова взять 3 или 4 буквы.
Пример: Зубная щетка Oral-B pro Expert 3d
нужно
Зуб.щет.Ora.pro.exp.3d
В ячейке может быть как 3 слова так и 10ть. прайс все время обновляется, дополняется и т.п. т.е. формула нужна универсальная. Голову сломал как это сделать. Прошу вашей помощи!
Доброй всем ночи!
Помогите пожалуйста решить проблему. Есть база данных, в данном случае прайс-лист. Для загрузки в кассовый аппарат нужно сократить номенклатуру до 28 символов в ячейке, т.е. из каждого слова взять 3 или 4 буквы.
Пример: Зубная щетка Oral-B pro Expert 3d
нужно
Зуб.щет.Ora.pro.exp.3d
В ячейке может быть как 3 слова так и 10ть. прайс все время обновляется, дополняется и т.п. т.е. формула нужна универсальная. Голову сломал как это сделать. Прошу вашей помощи!yaroslavin
не отвечаю, но здесь вроде уважаемый человек, дай, думаю, действительно посмотрю Ну, во-первых, это я решил побаловаться с вот этим методом отсечения http://www.excelworld.ru/forum/7-1861-1 А во-вовторых - обоснуй. С цифрами. И с учетом того, что у меня функция, которая никогда не будет работать быстрее простого макроса. Если код функции перевести на Sub и работу с выделенным диапазоном (что в принципе некорректно, т.к. алгоритм разный), то по времени отработки 10000 ячеек разница в 0,02 сек А если нормально макрос для работы с диапазоном написать (даже без всяких улучшений, просто Селекшн в массив перенести), то уменьшение скорости примерно раз в 15 получается. А если подумать еще, ... Но мне уже неохота
не отвечаю, но здесь вроде уважаемый человек, дай, думаю, действительно посмотрю Ну, во-первых, это я решил побаловаться с вот этим методом отсечения http://www.excelworld.ru/forum/7-1861-1 А во-вовторых - обоснуй. С цифрами. И с учетом того, что у меня функция, которая никогда не будет работать быстрее простого макроса. Если код функции перевести на Sub и работу с выделенным диапазоном (что в принципе некорректно, т.к. алгоритм разный), то по времени отработки 10000 ячеек разница в 0,02 сек А если нормально макрос для работы с диапазоном написать (даже без всяких улучшений, просто Селекшн в массив перенести), то уменьшение скорости примерно раз в 15 получается. А если подумать еще, ... Но мне уже неохота_Boroda_
Саша, на самом деле, вопрос был только к лишнему Join Потому что если и к алгоритму InExSu прикрутить такой же метод отсечения, то кто нам запрещает сразу же добавлять к результирующей строке ". "? А у тебя время уходит на перезапись обратно в m_(i) (динамические переменные, неявная проверка типов), плюс потом сборка Join'ом. Так что не всё так просто...
Что же касается работы в массиве, а также использования RTrim() - это уже вопросы оптимизации. Я ж не стал упоминать, что все почему-то забыли про "или 4 буквы"
Саша, на самом деле, вопрос был только к лишнему Join Потому что если и к алгоритму InExSu прикрутить такой же метод отсечения, то кто нам запрещает сразу же добавлять к результирующей строке ". "? А у тебя время уходит на перезапись обратно в m_(i) (динамические переменные, неявная проверка типов), плюс потом сборка Join'ом. Так что не всё так просто...
Что же касается работы в массиве, а также использования RTrim() - это уже вопросы оптимизации. Я ж не стал упоминать, что все почему-то забыли про "или 4 буквы" AndreTM