Прошу помочь в решении следующей задачи. В первом столбце таблицы имеется группа цифровых неповторяющихся (уникальных) штрих-кодов. В соседнем столбце указано количество каждого ШК. Необходимо создать таблицу из одного столбца, в котором будет записано столько строчек по каждому ШК, какое количество их имеется. В дополнение, через запятую необходимо указать цифровое значение 1 (единица), обозначающее количество этого ШК. Таким образом, в полученной таблице все ШК через запятую будут иметь только цифру 1. Во вложении прилагаю пример: первая закладка - как есть, вторая - желаемый результат, записанный вручную, без формул. Заранее благодарен за помощь.
С уважением, Валерий
Добрый день,
Прошу помочь в решении следующей задачи. В первом столбце таблицы имеется группа цифровых неповторяющихся (уникальных) штрих-кодов. В соседнем столбце указано количество каждого ШК. Необходимо создать таблицу из одного столбца, в котором будет записано столько строчек по каждому ШК, какое количество их имеется. В дополнение, через запятую необходимо указать цифровое значение 1 (единица), обозначающее количество этого ШК. Таким образом, в полученной таблице все ШК через запятую будут иметь только цифру 1. Во вложении прилагаю пример: первая закладка - как есть, вторая - желаемый результат, записанный вручную, без формул. Заранее благодарен за помощь.
Извините, пожалуйста, я не совсем понял, что Вы имели ввиду про "неверно", но мне действительно потом нужно передавать файл ф формате ТХТ. Я не стал наглеть и просить, чтобы исходник автоматически переводился из Эксель в ТХТ, это потом можно сделать вручную.
С уважением, Валерий
Nic70y,
Извините, пожалуйста, я не совсем понял, что Вы имели ввиду про "неверно", но мне действительно потом нужно передавать файл ф формате ТХТ. Я не стал наглеть и просить, чтобы исходник автоматически переводился из Эксель в ТХТ, это потом можно сделать вручную.
если вдруг (внезапно) штрих коды будут начинаться с 0, то формулу надо переделывать. если сканировать в ячейку с не текстовым форматом, то 0 впереди исчезнет
если вдруг (внезапно) штрих коды будут начинаться с 0, то формулу надо переделывать. если сканировать в ячейку с не текстовым форматом, то 0 впереди исчезнетNic70y
Ни одно из решений у меня корректно не работает для количества строк, большего, чем в образце, или вообще не работает никак. Сможете сделать решение, в котором можно в образец поставить любое количество строк и будет формироваться корректный результат?
С уважением, Валерий
Уважаемые друзья,
Ни одно из решений у меня корректно не работает для количества строк, большего, чем в образце, или вообще не работает никак. Сможете сделать решение, в котором можно в образец поставить любое количество строк и будет формироваться корректный результат?
Поменять в формуле 11 на 10000. И не забыть, что это формула массива - вводится она одновременным нажатием Контрл Шифт Ентер Но для 10000 строк у Вас машина умрет. Это лучше макросом. Power Query для 2007 Excel работает или нет - не помню У Вас действительно их так много? Кстати, зачем Вам вообще все это нужно?
Поменять в формуле 11 на 10000. И не забыть, что это формула массива - вводится она одновременным нажатием Контрл Шифт Ентер Но для 10000 строк у Вас машина умрет. Это лучше макросом. Power Query для 2007 Excel работает или нет - не помню У Вас действительно их так много? Кстати, зачем Вам вообще все это нужно?_Boroda_
Спасибо за совет по одновременному нажатию клавиш. Знал, но забыл, т.к. редко пользуюсь. По поводу макроса - наверное лучше, но я рад и тому, что Вы мне сделали формулу, а коллеги, которые отвечали в этой теме предложили несколько вариантов. Один из них, я так понял, с макросом, но он у меня почему-то не заработал. Данных обычно много, в среднем 10-100 тысяч позиций. Компания занимается сканированием товара в магазинах. Данные собираются в формате Эксель "образец". Клиенту нужно передавать в формате "результат", да еще в ТХТ.
С уважением, Валерий
_Boroda_,
Спасибо за совет по одновременному нажатию клавиш. Знал, но забыл, т.к. редко пользуюсь. По поводу макроса - наверное лучше, но я рад и тому, что Вы мне сделали формулу, а коллеги, которые отвечали в этой теме предложили несколько вариантов. Один из них, я так понял, с макросом, но он у меня почему-то не заработал. Данных обычно много, в среднем 10-100 тысяч позиций. Компания занимается сканированием товара в магазинах. Данные собираются в формате Эксель "образец". Клиенту нужно передавать в формате "результат", да еще в ТХТ.
Держите, поменяйте путь к сохранению файла TXT и жмите кнопку. [vba]
Код
Sub EAN_() arr_ = Range("A2:B" & Cells(Rows.Count, 1).End(xlUp).Row) Dim result() ReDim result(0) For i = 1 To UBound(arr_) Do x = x + 1 result(UBound(result)) = arr_(i, 1) ReDim Preserve result(UBound(result) + 1) Loop While arr_(i, 2) > x x = 0 Next i With Workbooks.Add.Sheets(1).Cells(1).Resize(UBound(result), 1) .Value = Application.Transpose(result) .NumberFormat = "0" End With Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:="D:\Мои документы\EAN_" & Date & ".txt", FileFormat:=xlText 'путь к папке указать свой ActiveWorkbook.Close True Application.DisplayAlerts = True End Sub
Держите, поменяйте путь к сохранению файла TXT и жмите кнопку. [vba]
Код
Sub EAN_() arr_ = Range("A2:B" & Cells(Rows.Count, 1).End(xlUp).Row) Dim result() ReDim result(0) For i = 1 To UBound(arr_) Do x = x + 1 result(UBound(result)) = arr_(i, 1) ReDim Preserve result(UBound(result) + 1) Loop While arr_(i, 2) > x x = 0 Next i With Workbooks.Add.Sheets(1).Cells(1).Resize(UBound(result), 1) .Value = Application.Transpose(result) .NumberFormat = "0" End With Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:="D:\Мои документы\EAN_" & Date & ".txt", FileFormat:=xlText 'путь к папке указать свой ActiveWorkbook.Close True Application.DisplayAlerts = True End Sub
Извините за настойчивость, но остался последний штрих. В итоговом файле нужно 8681579217765,1 а сейчас вот так "8681579217765,1". То есть как убрать кавычки с двух сторон?
С уважением, Валерий
sboy,
Извините за настойчивость, но остался последний штрих. В итоговом файле нужно 8681579217765,1 а сейчас вот так "8681579217765,1". То есть как убрать кавычки с двух сторон?
[/vba] то вновь будет число, но проблема в том, что при сохранении в txt дробная запятая станет точкой. сейчас к сожалению нет времени порыть поискать как побороть, может старшие товарищи чем помогут. Скидываю вариант с точкой
Valery2417, там было число, тут текст) если переписать [vba]
[/vba] то вновь будет число, но проблема в том, что при сохранении в txt дробная запятая станет точкой. сейчас к сожалению нет времени порыть поискать как побороть, может старшие товарищи чем помогут. Скидываю вариант с точкойsboy