Существует прайс лист в котором есть 4 колонки:Наименование,Цена,Наличие и Гарантия.Необходимо создать еще одну колонку,которая будет стоять самой первой(перед колонкой Наименование) в котором будет содержаться код товара в формате ХХ-ХХХХХ (например 01-12345),естеств. уникальный и не повторяющийся. Каждый день прайс будет новый:в колонке наименование строки могут либо добавляться либо исчезать старые (если обновилась только цена - в колонке Наменование строка останется неизменной а в колонке Цена цифра поменяется) Вообщем на выходе хочется получить точно такой же прайс но с проставленными слева кодами. Я как то видел подобную мини програмку: загоняяется свой прайс в нее,она на экране показывет там где нет кодов и можно их даже проставить вручную,но при этом прога не дает ставить код который раньше уже ставил,даже если какой то позиции с кодом нет в сег. прайсе)Получается что как бы выдача кодов должна быть четко определена.Если один раз присвоена,то второй раз этого сделать нельзя. Этот файл будет потом сохраняться в csv формат для импорта:верхние три строки я вырежу и первой будет строка с шапкой:Код,Наменование..... Еще бы желательно что бы в колонке знак *(звездочка) автоматически переименовывался на 1(цифра один) и в колонке Гарантия к имеющимся цифрам подставлялась слово мес.(т.е. есть 36 а будет 36мес.).Хотя и то и другое это можно сделать вручную. И последнее при импорте csv файла не видно 4 значных цифр,наверное потому,что они все сохранены в числовом формате.Пробовал выставить формат Текстовыи или Общий.Тогда все ОК Получается что колонки и код и цена должны быть в текстовом или общем формате
Существует прайс лист в котором есть 4 колонки:Наименование,Цена,Наличие и Гарантия.Необходимо создать еще одну колонку,которая будет стоять самой первой(перед колонкой Наименование) в котором будет содержаться код товара в формате ХХ-ХХХХХ (например 01-12345),естеств. уникальный и не повторяющийся. Каждый день прайс будет новый:в колонке наименование строки могут либо добавляться либо исчезать старые (если обновилась только цена - в колонке Наменование строка останется неизменной а в колонке Цена цифра поменяется) Вообщем на выходе хочется получить точно такой же прайс но с проставленными слева кодами. Я как то видел подобную мини програмку: загоняяется свой прайс в нее,она на экране показывет там где нет кодов и можно их даже проставить вручную,но при этом прога не дает ставить код который раньше уже ставил,даже если какой то позиции с кодом нет в сег. прайсе)Получается что как бы выдача кодов должна быть четко определена.Если один раз присвоена,то второй раз этого сделать нельзя. Этот файл будет потом сохраняться в csv формат для импорта:верхние три строки я вырежу и первой будет строка с шапкой:Код,Наменование..... Еще бы желательно что бы в колонке знак *(звездочка) автоматически переименовывался на 1(цифра один) и в колонке Гарантия к имеющимся цифрам подставлялась слово мес.(т.е. есть 36 а будет 36мес.).Хотя и то и другое это можно сделать вручную. И последнее при импорте csv файла не видно 4 значных цифр,наверное потому,что они все сохранены в числовом формате.Пробовал выставить формат Текстовыи или Общий.Тогда все ОК Получается что колонки и код и цена должны быть в текстовом или общем форматеhimmik
желательно что бы в колонке знак *(звездочка) автоматически переименовывался на 1(цифра один)
Code
=IF($C7;1;"")
Quote
и в колонке Гарантия к имеющимся цифрам подставлялась слово мес.(т.е. есть 36 а будет 36мес.).
Code
Format->Cells->Custom # мес.
4-х значные цифры есть: ;GPS навигатор GoClever 5040;1,104;1; но это конечно неверно - уберите пользовательский формат в этом столбце перед сохранением как csv. Насчёт кодов не совсем понятно. Сделать, чтобы код всегда добавлялся следующий сравнительно легко, ну а сделать, чтобы можно было вручную вводить любой несуществующий, даже если в таблице отсутствуют выданные ранее - намного сложнее. И тогда всегда должна быть доступна база всех кодов - если не из этого файла, то из другого на сервере.
Quote
желательно что бы в колонке знак *(звездочка) автоматически переименовывался на 1(цифра один)
Code
=IF($C7;1;"")
Quote
и в колонке Гарантия к имеющимся цифрам подставлялась слово мес.(т.е. есть 36 а будет 36мес.).
Code
Format->Cells->Custom # мес.
4-х значные цифры есть: ;GPS навигатор GoClever 5040;1,104;1; но это конечно неверно - уберите пользовательский формат в этом столбце перед сохранением как csv. Насчёт кодов не совсем понятно. Сделать, чтобы код всегда добавлялся следующий сравнительно легко, ну а сделать, чтобы можно было вручную вводить любой несуществующий, даже если в таблице отсутствуют выданные ранее - намного сложнее. И тогда всегда должна быть доступна база всех кодов - если не из этого файла, то из другого на сервере.Hugo
в котором будет содержаться код товара в формате ХХ-ХХХХХ (например 01-12345),естеств. уникальный и не повторяющийся.
этот код вы сами придумываете или он приходит вместе с вашими портативныи устройствами ?
Quote (himmik)
Еще бы желательно что бы в колонке знак *(звездочка) автоматически переименовывался на 1(цифра один)
Изначально звездочек в таблице нет. В каком столбце и в результате чего появляется *(звездочка) ?
Quote (himmik)
в колонке Гарантия к имеющимся цифрам подставлялась слово мес.(т.е. есть 36 а будет 36мес.)
поскольку Гарантия имеет ограниченное кол-во возможных вариантов, то ее можно сделать через выпадающий список P.S. про звездочку сначала почитал ответ Hugo и только потом увидел где находится
himmik, Доброго времени суток
Quote (himmik)
в котором будет содержаться код товара в формате ХХ-ХХХХХ (например 01-12345),естеств. уникальный и не повторяющийся.
этот код вы сами придумываете или он приходит вместе с вашими портативныи устройствами ?
Quote (himmik)
Еще бы желательно что бы в колонке знак *(звездочка) автоматически переименовывался на 1(цифра один)
Изначально звездочек в таблице нет. В каком столбце и в результате чего появляется *(звездочка) ?
Quote (himmik)
в колонке Гарантия к имеющимся цифрам подставлялась слово мес.(т.е. есть 36 а будет 36мес.)
поскольку Гарантия имеет ограниченное кол-во возможных вариантов, то ее можно сделать через выпадающий список P.S. про звездочку сначала почитал ответ Hugo и только потом увидел где находится 0mega
желательно что бы в колонке знак *(звездочка) автоматически переименовывался на 1(цифра один)
C этим разобрался
Quote (Hugo)
Format->Cells->Custom # мес.
Так не получилось.Делаю так становлюсь на поле с цифрой например 36,затем правая кнопка мыши - формат ячеек-(все форматы) - сам пишу # мес. - ругается эксель,что не в сосоянии обработать введенный мной числовой формат.
Quote (Hugo)
4-х значные цифры есть: ;GPS навигатор GoClever 5040;1,104;1; но это конечно неверно - уберите пользовательский формат в этом столбце перед сохранением как csv.
с этим тоже не сильно понял Проверил перед сохранением как cvs стоит формат Числовой.Что тогда лучше ставить Общий или текстовый?
Quote (Hugo)
Сделать, чтобы код всегда добавлялся следующий сравнительно легко
Да если будет автоматически вводить и каждый раз новый и уникальный,тогда годится Опишу в примере: сегодня 100 позиций,мы начали с позиции 1,соотв раздали 100 номеров,на след день снова прайс лист и в нем 110 позиций,НО,чего-то нет,соотв в прайс не попало,много со вчерашнего,но в нем изменилиь или остались цены - это все есть.И добавился новый товар - он появился в прайсе и он соотв без кода (пример на скрине). Как бы загоняем его новый и старый прайсы в програмку и он опрелеяет : там где есть код соотв не трогает,где нет,добавляет новый,уникальный
Спасибо всем за ответы,теперь по очереди...
Quote (Hugo)
желательно что бы в колонке знак *(звездочка) автоматически переименовывался на 1(цифра один)
C этим разобрался
Quote (Hugo)
Format->Cells->Custom # мес.
Так не получилось.Делаю так становлюсь на поле с цифрой например 36,затем правая кнопка мыши - формат ячеек-(все форматы) - сам пишу # мес. - ругается эксель,что не в сосоянии обработать введенный мной числовой формат.
Quote (Hugo)
4-х значные цифры есть: ;GPS навигатор GoClever 5040;1,104;1; но это конечно неверно - уберите пользовательский формат в этом столбце перед сохранением как csv.
с этим тоже не сильно понял Проверил перед сохранением как cvs стоит формат Числовой.Что тогда лучше ставить Общий или текстовый?
Quote (Hugo)
Сделать, чтобы код всегда добавлялся следующий сравнительно легко
Да если будет автоматически вводить и каждый раз новый и уникальный,тогда годится Опишу в примере: сегодня 100 позиций,мы начали с позиции 1,соотв раздали 100 номеров,на след день снова прайс лист и в нем 110 позиций,НО,чего-то нет,соотв в прайс не попало,много со вчерашнего,но в нем изменилиь или остались цены - это все есть.И добавился новый товар - он появился в прайсе и он соотв без кода (пример на скрине). Как бы загоняем его новый и старый прайсы в програмку и он опрелеяет : там где есть код соотв не трогает,где нет,добавляет новый,уникальныйhimmik
Формат # мес. задал сразу всей колонке. См. приложение. Про csv - сейчас данные выглядят так: 1,104 1,060 1,612 Вот эти запятые, созданные форматом, нужно убрать.
Номера - можно брать максимальный и прибавлять 1. Т.е если отсутствует 5-ый, но есть 7-ой, то будет 8-ой. Но если завели 10-ый, потом его стёрли, и максимальный в таблице опять 7-ой (т.к. 8 и 9 стёрли раньше), то будет бардак.
Формат # мес. задал сразу всей колонке. См. приложение. Про csv - сейчас данные выглядят так: 1,104 1,060 1,612 Вот эти запятые, созданные форматом, нужно убрать.
Номера - можно брать максимальный и прибавлять 1. Т.е если отсутствует 5-ый, но есть 7-ой, то будет 8-ой. Но если завели 10-ый, потом его стёрли, и максимальный в таблице опять 7-ой (т.к. 8 и 9 стёрли раньше), то будет бардак.
Вот эти запятые, созданные форматом, нужно убрать.
Все с этим все понял,разобрался
Quote (Hugo)
Номера - можно брать максимальный и прибавлять 1. Т.е если отсутствует 5-ый, но есть 7-ой, то будет 8-ой. Но если завели 10-ый, потом его стёрли, и максимальный в таблице опять 7-ой (т.к. 8 и 9 стёрли раньше), то будет бардак.
А если прязать номер с названием?
Quote (Hugo)
Вот эти запятые, созданные форматом, нужно убрать.
Все с этим все понял,разобрался
Quote (Hugo)
Номера - можно брать максимальный и прибавлять 1. Т.е если отсутствует 5-ый, но есть 7-ой, то будет 8-ой. Но если завели 10-ый, потом его стёрли, и максимальный в таблице опять 7-ой (т.к. 8 и 9 стёрли раньше), то будет бардак.
А посмотрите такой вариант. В принципе, совпадения кодов возможны, но оооооочень маловероятны.
Формула берет десятичный ASCII код каждого символа, возводит его в куб, складавает результаты для всех символов, из полученного числа берет 7 последних цифр и формирует из них код. Следовательно, в любом файле для одинаковых наименований код будет один и тот же.
Код не уникален для случаев, когда в двух ячейках повторяются одни и те же буквы (с учетом того что большие и маленькие - это разные буквы). Например, "молоко" = "ооомлк", но "Молоко" не равно "молоко".
А посмотрите такой вариант. В принципе, совпадения кодов возможны, но оооооочень маловероятны.
Формула берет десятичный ASCII код каждого символа, возводит его в куб, складавает результаты для всех символов, из полученного числа берет 7 последних цифр и формирует из них код. Следовательно, в любом файле для одинаковых наименований код будет один и тот же.
Код не уникален для случаев, когда в двух ячейках повторяются одни и те же буквы (с учетом того что большие и маленькие - это разные буквы). Например, "молоко" = "ооомлк", но "Молоко" не равно "молоко".
Суть в том, что если не хранить всю базу номеров, а смотреть по последнему, то этот последний удалять нельзя
Базу всего как бы можно вытащить...и сразу же присвоить всему что есть сразу коды,а потом уже каждодневно проверять (сверятся с базой) и стем прайсом где нет кодов,только опять же нужна связка Код-Название,что бы оно было неизменным.Например Код 12345 - Процессор Атлон 640.И так должно быть со всеми позициями.Что бы в дальнейшем вбивая в поисковик на своем сайте код, можно было увидеть сразу название
Quote (Hugo)
Суть в том, что если не хранить всю базу номеров, а смотреть по последнему, то этот последний удалять нельзя
Базу всего как бы можно вытащить...и сразу же присвоить всему что есть сразу коды,а потом уже каждодневно проверять (сверятся с базой) и стем прайсом где нет кодов,только опять же нужна связка Код-Название,что бы оно было неизменным.Например Код 12345 - Процессор Атлон 640.И так должно быть со всеми позициями.Что бы в дальнейшем вбивая в поисковик на своем сайте код, можно было увидеть сразу названиеhimmik
Почитал,попробовал,работает.Теперь бы еще придумать как бы каждый день сравнивать со вчерашним и добавлять новые. ПС.Решение сильное.Учитывая что у меня Названия никогда не повторяются,код будет уникальным.Так что 50% пути пройдено.Спасибо
Quote (_Boroda_)
Объяснение см. в моем предыдущем посте.
Почитал,попробовал,работает.Теперь бы еще придумать как бы каждый день сравнивать со вчерашним и добавлять новые. ПС.Решение сильное.Учитывая что у меня Названия никогда не повторяются,код будет уникальным.Так что 50% пути пройдено.Спасибоhimmik
Да, такой вариант кодов вполне удачный. Если количество кодов будет большое, можно динамически или после присвоения проверять на уникальность, есть быстрые способы на словаре или коллекции. Не совсем понял, как задумано обновлять прайс. Будет список изменений - т.е. новые позиции и цены, это понятно. Изменить и добавить можно - ищем соответствие кода и переписываем строку полностью, если не нашли - добавляем в конец. А как будут удаляться позиции? В принципе, этот код можно ставить и макросом - или используя формулу в коде, или используя алгоритм. Но вероятно надо строго следить за написанием: добавится пробел или точка - и код будет совсем другой, хотя характеристики товара все остаются прежние.
Да, такой вариант кодов вполне удачный. Если количество кодов будет большое, можно динамически или после присвоения проверять на уникальность, есть быстрые способы на словаре или коллекции. Не совсем понял, как задумано обновлять прайс. Будет список изменений - т.е. новые позиции и цены, это понятно. Изменить и добавить можно - ищем соответствие кода и переписываем строку полностью, если не нашли - добавляем в конец. А как будут удаляться позиции? В принципе, этот код можно ставить и макросом - или используя формулу в коде, или используя алгоритм. Но вероятно надо строго следить за написанием: добавится пробел или точка - и код будет совсем другой, хотя характеристики товара все остаются прежние.Hugo
Не совсем понял, как задумано обновлять прайс. Будет список изменений - т.е. новые позиции и цены, это понятно.
Да каждый день будет новый прайс.Только с тем что есть в наличии.Соотв чего то будет со старого прайса эдак 80%. и 10% добавятся новые позиции.И еще 10% просто поставщик не выдаст в прайсе так как их нет в наличии.А удаляться позиции как будут ???Их просто не будет в сег прайсе.В принципе я описал выше как происходит каждый день.
Quote (Hugo)
Не совсем понял, как задумано обновлять прайс. Будет список изменений - т.е. новые позиции и цены, это понятно.
Да каждый день будет новый прайс.Только с тем что есть в наличии.Соотв чего то будет со старого прайса эдак 80%. и 10% добавятся новые позиции.И еще 10% просто поставщик не выдаст в прайсе так как их нет в наличии.А удаляться позиции как будут ???Их просто не будет в сег прайсе.В принципе я описал выше как происходит каждый день.himmik