Стоит следующая задача: 1. Необходимо создать формулу, которая бы генерировала Артикл формата 01-00000. 2. Значение 01 привязывалось бы к разделу, т.е. раздел 01- СКУД, раздел 02 - видеонаблюдение 3. Артикль после генерации фиксируется и не изменяется, неважно в какие бы места каталога не добавлялся товар. 4. Каждый новый сгенерированный артикл должен отличаться от предыдущего в разделе на единицу, т.е. если последний в группе артикл 03-64150, то новый должен генерироваться как 03-64151. 5. Формулы должна быть не громоздкой т.к. сайт когда пробегает по строчкам сверяя товары несправляется (понятие относительное) 6. Артикл не должен зависить от содержания в его строке т.к. оно может меняться, а к артиклу будут привязаны другое значения и переменные. 7. Строка в которой должен генерироваться артикл может быть вставлена в любую часть файла.
Стоит следующая задача: 1. Необходимо создать формулу, которая бы генерировала Артикл формата 01-00000. 2. Значение 01 привязывалось бы к разделу, т.е. раздел 01- СКУД, раздел 02 - видеонаблюдение 3. Артикль после генерации фиксируется и не изменяется, неважно в какие бы места каталога не добавлялся товар. 4. Каждый новый сгенерированный артикл должен отличаться от предыдущего в разделе на единицу, т.е. если последний в группе артикл 03-64150, то новый должен генерироваться как 03-64151. 5. Формулы должна быть не громоздкой т.к. сайт когда пробегает по строчкам сверяя товары несправляется (понятие относительное) 6. Артикл не должен зависить от содержания в его строке т.к. оно может меняться, а к артиклу будут привязаны другое значения и переменные. 7. Строка в которой должен генерироваться артикл может быть вставлена в любую часть файла.
Divniy, не очень понятно. Ваша формула для 2-х разных товаров в 1 разделе даст 1 и тот же артикул. Не ясен пункт 6. Как Вы хотите задавать идентификацию разным товарам только по разделу? не опираясь на содержание товара. А не вариант вообще сохранять всё как значения, чтобы не было трудно потом сайту( к пункту 5)?
Divniy, не очень понятно. Ваша формула для 2-х разных товаров в 1 разделе даст 1 и тот же артикул. Не ясен пункт 6. Как Вы хотите задавать идентификацию разным товарам только по разделу? не опираясь на содержание товара. А не вариант вообще сохранять всё как значения, чтобы не было трудно потом сайту( к пункту 5)?Roman777
Ваша формула для 2-х разных товаров в 1 разделе даст 1 и тот же артикул
ДА эта формула не моя, я её взял в соседней ветке, формула которую я выложил показывает что она достаточно громоздка и сайт ее не ест. Я адаприровал данную формулу для своего файла, код она генерировала, но он менялся если менять название (-), и его не читает сайт.
Ключевой момент, что формула которую я приложил, зависит от содержания столбца с названием (например), поставив случайно пробел, мы получаем другой артикл этого товара, что недопустимо.
Как Вы хотите задавать идентификацию разным товарам только по разделу
Я думаю задавать их вручную, т.е. я зная что товар будет размещет в разделе видеонаблюдение буду копировать формулу, или она сама будет копироваться т.к. товор будет размещаться между строк которые относятся к разделу видеонаблюдение, а в самой формуле будет статически прописано значение раздела 2, которое принадлежит видеонаблюдению.
А не вариант вообще сохранять всё как значения, чтобы не было трудно потом сайту( к пункту 5)?
Это способ простой, но не совсем правильный. Я все равно вынужден буду оставлять файл с формулами для внесения новых товаров, при добавлении нового товара каждый раз конвертить и подсовывать сайту. Товары могут добавляться часто, первое время особенно, и лишние операции не желательны.
Ваша формула для 2-х разных товаров в 1 разделе даст 1 и тот же артикул
ДА эта формула не моя, я её взял в соседней ветке, формула которую я выложил показывает что она достаточно громоздка и сайт ее не ест. Я адаприровал данную формулу для своего файла, код она генерировала, но он менялся если менять название (-), и его не читает сайт.
Ключевой момент, что формула которую я приложил, зависит от содержания столбца с названием (например), поставив случайно пробел, мы получаем другой артикл этого товара, что недопустимо.
Как Вы хотите задавать идентификацию разным товарам только по разделу
Я думаю задавать их вручную, т.е. я зная что товар будет размещет в разделе видеонаблюдение буду копировать формулу, или она сама будет копироваться т.к. товор будет размещаться между строк которые относятся к разделу видеонаблюдение, а в самой формуле будет статически прописано значение раздела 2, которое принадлежит видеонаблюдению.
А не вариант вообще сохранять всё как значения, чтобы не было трудно потом сайту( к пункту 5)?
Это способ простой, но не совсем правильный. Я все равно вынужден буду оставлять файл с формулами для внесения новых товаров, при добавлении нового товара каждый раз конвертить и подсовывать сайту. Товары могут добавляться часто, первое время особенно, и лишние операции не желательны.Divniy
Divniy, Если бы Вы задали код подраздела вручную и 1-й артикул введёте вручную, то ф-лу ещё больше можно было бы упростить... а так у меня с допстолбцом ток (в обеих ф-лы):
Но и это с учетом, как я понял, что у Вас в таблице сортировка по "подразделу" стоит.
Divniy, Если бы Вы задали код подраздела вручную и 1-й артикул введёте вручную, то ф-лу ещё больше можно было бы упростить... а так у меня с допстолбцом ток (в обеих ф-лы):
Roman777, Спасибо за содействие. По предложенному решению: 1. номер подраздела лучше править прям в формуле не согдавая дополнительный столбец, т.е. как то так, что бы было
Код
ПРАВСИМВ(A2;5)+1;1);1);"01-00000")
, т.е заполняя первый подраздел я в файсе на вставленную пустую строку проняну формулу за нижней правый угол ячейки и он должен сгенерить там артикл. 2. Предложенная формула для генрации артикла не хочет работать, пример в файсе строка 3, сгенерил артикл который находится под ним.
Roman777, Спасибо за содействие. По предложенному решению: 1. номер подраздела лучше править прям в формуле не согдавая дополнительный столбец, т.е. как то так, что бы было
Код
ПРАВСИМВ(A2;5)+1;1);1);"01-00000")
, т.е заполняя первый подраздел я в файсе на вставленную пустую строку проняну формулу за нижней правый угол ячейки и он должен сгенерить там артикл. 2. Предложенная формула для генрации артикла не хочет работать, пример в файсе строка 3, сгенерил артикл который находится под ним.Divniy
Предложенная формула для генрации артикла не хочет работать
Всё работает. Просто вы вставили строку... но ф-ла оказалась не верно протянута... кроме того номер раздела сгенерируется корректно, если сам раздел будет заполнен(обратите внимание на ф-лу во 2й строке и в 3й как у Вас вышло в Вашем ф-ле) Если номер подраздела хотите править прямо в ф-лу генр-ции артикула, то либо в каждом подразделе просто ручками ставить цифру, либо ф-льно, но тогда ф-ла снова удлинится.
Предложенная формула для генрации артикла не хочет работать
Всё работает. Просто вы вставили строку... но ф-ла оказалась не верно протянута... кроме того номер раздела сгенерируется корректно, если сам раздел будет заполнен(обратите внимание на ф-лу во 2й строке и в 3й как у Вас вышло в Вашем ф-ле) Если номер подраздела хотите править прямо в ф-лу генр-ции артикула, то либо в каждом подразделе просто ручками ставить цифру, либо ф-льно, но тогда ф-ла снова удлинится.Roman777
- взял ячейку над ней за правый нижний край и протянул, как всегде, как это делать правильно?
Что делаю, что получаю:
1. Делаю вставку строки. Имею пустую строку. 2. Протягиваю код подраздела или вставляю с ячейки выше, (в данный подраздел добавляю товар), получаю следующий раздел т.е. если копирую 4, в ячейки свветится 5-й. 3. Протяниваю сам артикл, код подраздела (первые две цифры неправилные, т.к.) некорректна причина пункт 2. И весь артикл получается как в ячейки строчкой ниже.
Я что то не так делаю, поясните как делать? Пример был строка 9.
- взял ячейку над ней за правый нижний край и протянул, как всегде, как это делать правильно?
Что делаю, что получаю:
1. Делаю вставку строки. Имею пустую строку. 2. Протягиваю код подраздела или вставляю с ячейки выше, (в данный подраздел добавляю товар), получаю следующий раздел т.е. если копирую 4, в ячейки свветится 5-й. 3. Протяниваю сам артикл, код подраздела (первые две цифры неправилные, т.к.) некорректна причина пункт 2. И весь артикл получается как в ячейки строчкой ниже.
Я что то не так делаю, поясните как делать? Пример был строка 9.Divniy
Divniy, Что 1я, что 2я ф-ла сравнивают ячейку столбца D текущей строки с предыдущей. Собственно, пока Вы не заполните её D9 не ясно будет, относительно чего ориентироваться, чтобы поставить определение Подразделу.
Divniy, Что 1я, что 2я ф-ла сравнивают ячейку столбца D текущей строки с предыдущей. Собственно, пока Вы не заполните её D9 не ясно будет, относительно чего ориентироваться, чтобы поставить определение Подразделу.Roman777
Какая логика работы в формуле артикл? Возможно реализовать формулу (илил это будет громоздко) что бы сравнивались все значения столбика артикл с определенным кодом подразделения и артикл выставлялся как бамый большой, последний +1????
С формулой столбца кода подразделения понятно.
Какая логика работы в формуле артикл? Возможно реализовать формулу (илил это будет громоздко) что бы сравнивались все значения столбика артикл с определенным кодом подразделения и артикл выставлялся как бамый большой, последний +1????Divniy
Divniy, ф-ла по артикулу работает просто: Сравниваются значения в столбце "С" (коды подразделения), если в текущей строке код подразделения тот же - то мы прибавляем следующее значение 2й части артикула ("00000")+1. В случае, если разные, то ставим "00001". А так же если у Вас будет нечисловое выражение в столбце С выше рассмативаемой строки, то благодаря выражению:
Код
=ЕСЛИОШИБКА(--ПРАВСИМВ(A2;5)+1;1);1)
получим значение = 1 (расчет на 1ю строку таблицы, когда у Вас значение 1-го кода по этой логике я попробую к шапке ("КОД Подраздела") прибавить 1, получу ошибку... поэтому так же получится значение "00001").
Divniy, ф-ла по артикулу работает просто: Сравниваются значения в столбце "С" (коды подразделения), если в текущей строке код подразделения тот же - то мы прибавляем следующее значение 2й части артикула ("00000")+1. В случае, если разные, то ставим "00001". А так же если у Вас будет нечисловое выражение в столбце С выше рассмативаемой строки, то благодаря выражению:
Код
=ЕСЛИОШИБКА(--ПРАВСИМВ(A2;5)+1;1);1)
получим значение = 1 (расчет на 1ю строку таблицы, когда у Вас значение 1-го кода по этой логике я попробую к шапке ("КОД Подраздела") прибавить 1, получу ошибку... поэтому так же получится значение "00001").Roman777
Возможно реализовать формулу (илил это будет громоздко) что бы сравнивались все значения столбика артикл с определенным кодом подразделения и артикл выставлялся как бамый большой, последний +1????
Возможно реализовать формулу (илил это будет громоздко) что бы сравнивались все значения столбика артикл с определенным кодом подразделения и артикл выставлялся как бамый большой, последний +1????
можете пример какой-нибудь привести в файле?Roman777
Много чего не знаю!!!!
Сообщение отредактировал Roman777 - Понедельник, 18.04.2016, 18:05
Алгоритм работы формулы для ячейки С6 1. Заначение первые 2 символы берется с ячейки артикла, на ячейку выше т.е. в данном случае С5 2. Формула сравнивает все артиклы с столбце С, на предмет налачия первых двух символов, которые ранее она взяла из ячейки С5. 3. После этого мы имеем массив данных который получился из формулы выше, в этом массиве находим максимальное значение которое в данном случае 01-654897 и прибавляя к нему 1 получаем нужный нам артикл 01-654898 4. Возможно сделать так, что бы после генерации артикла артикл дублировался как значение в соседнюю ячейку, пример D3
Я не очень понимаю принципы работы и организацию формул, поэтому мог написать чушь.
Пример, приложен.
Алгоритм работы формулы для ячейки С6 1. Заначение первые 2 символы берется с ячейки артикла, на ячейку выше т.е. в данном случае С5 2. Формула сравнивает все артиклы с столбце С, на предмет налачия первых двух символов, которые ранее она взяла из ячейки С5. 3. После этого мы имеем массив данных который получился из формулы выше, в этом массиве находим максимальное значение которое в данном случае 01-654897 и прибавляя к нему 1 получаем нужный нам артикл 01-654898 4. Возможно сделать так, что бы после генерации артикла артикл дублировался как значение в соседнюю ячейку, пример D3
Я не очень понимаю принципы работы и организацию формул, поэтому мог написать чушь.
Divniy, Мне кажется, что так как Вы хотите, не выйдет. Ибо если ф-ла будет ссылаться на столбце, в котором находится - появятся циклы (аргументы, которые принимает ф-ла, станут резултатом самой ф-лы). Ну и добавить как значение в соседнюю ячейку с помощью формул, мне кажется, не реально, ибо ф-ла - по сути своей уже ссылается на что-то. Добавить как значение можно с помощью макроса. Я скину Вам пример, где попробовал приблизиться к задаче в Сообщении №12 (см. лист 3). Но мне кажется, что всё проще сделать с помощью макроса. Я просто не знаю, как у Вас это связано с сайтом, ну и в принципе в подобной работе, я не силён). Ф-ла в файле - массивная, вводится одновременным нажатием Сонтрл+Шифт+Энтер. Ну и в итоге ф-ла всё-равно громоздкая...Но можно же ориентироваться по значениям, а не по ф-ле.
Divniy, Мне кажется, что так как Вы хотите, не выйдет. Ибо если ф-ла будет ссылаться на столбце, в котором находится - появятся циклы (аргументы, которые принимает ф-ла, станут резултатом самой ф-лы). Ну и добавить как значение в соседнюю ячейку с помощью формул, мне кажется, не реально, ибо ф-ла - по сути своей уже ссылается на что-то. Добавить как значение можно с помощью макроса. Я скину Вам пример, где попробовал приблизиться к задаче в Сообщении №12 (см. лист 3). Но мне кажется, что всё проще сделать с помощью макроса. Я просто не знаю, как у Вас это связано с сайтом, ну и в принципе в подобной работе, я не силён). Ф-ла в файле - массивная, вводится одновременным нажатием Сонтрл+Шифт+Энтер. Ну и в итоге ф-ла всё-равно громоздкая...Но можно же ориентироваться по значениям, а не по ф-ле.Roman777