Страницы: 1
RSS
Преобразовать количество в нумерацию
 
Друзья, добрый день,
Возникла необходимость немного оптимизировать работу с таблицей.
В чем суть, имеется таблица в которую вносится информация о том, сколько коробок данный товар занимает, далее, исходя из общего числа коробок и количества коробок, которое занимает данный товар заполняется нумерация коробок.


Наименование   товараАртикулКоличество   занимаемых коробокНомера коробок
Заклепка590437101-10
Винт813494211-12
Накладка502003113
Уплотнитель573172514-18
Зеркало416872119
Воздуховод328871320-22
Сайлентблок392601123
Рычаг848511524-28
Гайка745516129
-Итого29
На данный момент нумерация заполняется вручную, подскажите, как-то можно реализовать так, чтобы это считалось автоматически?
 
HeArtLine, Добрый день. как вариант! только для первой нумерации нужно проставить вручную.
можно так что бы в первую не вручную вписывать для ячейки D2 -
Код
 =ЕСЛИОШИБКА(ЕСЛИОШИБКА(ЕСЛИ(C2=1;ПРАВСИМВ(D1;ДЛСТР(D1)-ПОИСК("-";D1;1))+1;ПРАВСИМВ(D1;ДЛСТР(D1)-ПОИСК("-";D1;1))+1&"-"&ПРАВСИМВ(D1;ДЛСТР(D1)-ПОИСК("-";D1;1))+C2);D1+1&"-"&D1+C2);"1"&"-"&C2)
Изменено: a.i.mershik - 06.09.2018 09:56:06
Не бойтесь совершенства. Вам его не достичь.
 
в D2 и протянуть вниз
Код
=ЕСЛИ(C2=1;СУММ($C$2:C2);СУММ($C$2:C2)-C2+1&"-"&СУММ($C$2:C2))
Лень двигатель прогресса, доказано!!!
 
Ну и еще вариант до кучи:
Для 2-й строки:
=СЦЕПИТЬ(1;"-";C2)
Для 3-й и ниже:
=ЕСЛИ(C3=1;СЦЕПИТЬ(СУММ($C$2:C2)+1);СЦЕПИТЬ(СУММ($C$2:C2)+1;"-";СУММ($C$2:C3)))
или такой вариант одной формулой
=ЕСЛИ(C2=1;СЦЕПИТЬ(СУММ(C$1:C1)+1);СЦЕПИТЬ(СУММ(C$1:C1)+1;"-";СУММ($C$2:C2)))
Изменено: Bema - 06.09.2018 10:34:39
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Друзья, спасибо большое!
 
Макросом
Код
Sub Numeration()
Dim i As Long
Dim iLastRow As Long
Dim FirstNomer As Long
Dim EndNomer As Long
 iLastRow = Cells(Rows.Count, "B").End(xlUp).Row - 1
 Range("D2:D" & iLastRow).NumberFormat = "@"
    FirstNomer = 1
  For i = 2 To iLastRow
    EndNomer = FirstNomer + Cells(i, "C") - 1
    If EndNomer = FirstNomer Then
      Cells(i, "D") = FirstNomer
    Else
      Cells(i, "D") = FirstNomer & "-" & EndNomer
    End If
      FirstNomer = EndNomer + 1
  Next
End Sub
Страницы: 1
Наверх