Страницы: 1
RSS
В тексте №_ящика-количество. Суммировать количество в каждом ящике
 
Добрый день всем!
У меня с одной стороны простой вопрос, а с другой... Я не знаю как сделать.

Нужно содержимое ячейки
100-4ks, 100-28ks, 100-28ks, 100-28ks, 100-28ks, 120-28ks, 120-28ks, 120-28ks, 120-16ks
преобразовать  в
100-116ks, 120-100ks

Прошу помощи. Сам никак не могу сообразить ка сделать
 
7 раз перечитал и просмотрел, но не понял логики((
 
Добрый день, Lari!
Уточняю вопрос.
Есть содержимое ячейки:
100-4шт, 100-28шт, 100-28шт, 100-28шт, 100-28шт, 120-28шт, 120-28шт, 120-28шт, 120-16шт
Нужно сложить количество штук в каждом ящике (в ящике 100 и 120) и представить в следующем виде:
100-116шт, 120-100шт
в этой же или соседней ячейке.
 
Perec, здравствуйте! Скорее всего, такое можно делать только макросом…
Подготовьте файл-пример
Какие варианты пар ещё могут быть?
Пары с одинаковой левой частью (100, 120) всегда подряд идут или могут быть перемешаны?

P.S.: не делайте такие межстрочные интервалы - раздуваете сообщение
Изменено: Jack Famous - 28.05.2020 11:35:53
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
теперь мне более понятно, скажите, а в начале они в одной строке или в разных?
Лучше скопировать то что у вас написано для примера и в ексель файл приложить как пример, там будет удобнее и решение предоставить.
 
Вот реальный файл  
 
Perec, сократите файл до 20-30 строк и покажите (руками), как должен выглядеть результат
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Perec,  Версия Excel какая? В свежих можно формулами пошаманить, а так  , макрос, UDF, да и PQ справится наверно.
По вопросам из тем форума, личку не читаю.
 
Если я все правильно понял. Сделал с помощью Power Query.
Изменено: Lari - 28.05.2020 11:56:18
 
Вот не поленился сделал руками для всех позиций, чтобы присутствовали все возможные варианты.
Lari,  большое спасибо, но помощью Power Query я знаю как сделать.
А нужно сделать, чтобы выглядело как в последнем примере в соседнем столбце (еще лучше в этом же).
 
Я понял так:
Скрытый текст

Скрин листа
P.S. Я почти угадал :) Эту мелочёвку доделывать думаю нет смысла, да и опоздали :(
Изменено: Hugo - 28.05.2020 12:40:50
 
Извиняюсь, была ошибка в коде, просьба обновить если копировали (вместо >3 нужно >2!)
А Вы хорошо вручную сделали, ошиблись только в одной 226-й строке :)
 
Можно формулой большинство
=IF((LEN(Таблица1[@[Упаковочный лист]])+1-LEN(SUBSTITUTE(" "& Таблица1[@[Упаковочный лист]];" "&LEFT(Таблица1[@[Упаковочный лист]];FIND("-";Таблица1[@[Упаковочный лист]]));)))/LEN(" "&LEFT(Таблица1[@[Упаковочный лист]];FIND("-";Таблица1[@[Упаковочный лист]]))) = LEN(Таблица1[@[Упаковочный лист]])-LEN(SUBSTITUTE(Таблица1[@[Упаковочный лист]];"-";));
LEFT(Таблица1[@[Упаковочный лист]];FIND("-";Таблица1[@[Упаковочный лист]]))&SUM(IFERROR(--LEFT(RIGHT(SUBSTITUTE(TRIM(MID(SUBSTITUTE(","&Таблица1[@[Упаковочный лист]];",";REPT(" ";99));ROW($1:$99)*99;99));"-";REPT(" ";15));17);15);))&"шт";
"Руками")

а вот там где несколько коробок, то руками.
Изменено: БМВ - 28.05.2020 12:47:58
По вопросам из тем форума, личку не читаю.
 
Большое спасибо, Hugo !!!
Все отлично работает. Я даже не понял про "мелочевку".
 
3 на 2 поменяли? А мелочёвка - это "-шт" без номенклатуры и количества.
 
БМВ, большое спасибо за участие!
Код Hugo на 100% решил задачу.
 
позволю чуть
Код
Function Perec$(s$, шт$)
'на листе =Perec(C3;"шт")
     Dim d As Object, arr, arr2, i&, k
     s = Replace(s, ", ", "")
     If Len(s) > 2 Then
         Set d = CreateObject("Scripting.Dictionary")
        d.comparemode = 1
         arr = Split(s, шт)
        For i = 0 To UBound(arr) - 1
            arr2 = Split(arr(i), "-")
            d.Item(arr2(0)) = d.Item(arr2(0)) + --arr2(1)
        Next
        For Each k In d.keys
            Perec = Perec & ", " & k & "-" & d.Item(k) & шт
        Next
        Perec = Mid(Perec, 3)
     End If
End Function
Изменено: БМВ - 28.05.2020 18:53:36
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх