Страницы: 1
RSS
ПереНумерация столбца
 
Здравствуйте. Помогите пожалуйста решить задачу при помощи макроса.
Дано:
Столбец в текстовом формате  состоящий из цифровых данных. Пример:
00013
00014
00015
00016
00017
00018
00019
00022
00023
00023
00025
00026
Данные идут не по порядку и есть значения, которые имеют одинаковые значения (но идут всегда друг за другом, далее в столбце эти данные отсутствуют). Дубли могут быть два, три и более раз. Необходимо, задать нужное значение первой ячейки (например A4=00001) и получить перенумерованный список, в котором значения будут идти по порядку, но когда будут встречаться строки с одинаковыми значениями подряд, такие строки дублируются столько-же раз, сколько было строк с одинаковыми значениями изначально, по формуле "значение предыдущей строки+1", а дальше нумерация продолжается:
00013
00014
00015
00016
00017
00018
00019
00020
00021
00021
00022
00023
Со словесным описанием задачи думаю справился на троечку, прилагаю файл пример. Спасибо.
Изменено: Newsky13 - 23.04.2018 23:00:43
 
Не уверена, что правильно поняла задачу, но вот что-то наклепалось - смотри вложение. Там формулами получен такой же столбец (D), как у Вас. Он также с нулями. Ничего, что этот столбец не воспринимается как число?  
"Просите, и дано будет вам; ищите, и найдете; стучите, и отворят вам" (Мф. 7. 7-9)
 
Здравствуйте. Может, формулой подойдет, зачем вам этот макрос?
Изменено: Пытливый - 23.04.2018 21:35:11
Кому решение нужно - тот пример и рисует.
 
Здравствуйте! А откуда после перенумерации взялось 21 и куда делась одна 23?
И почему обычная сортировка не подходит для этой задачи?
 
Цитата
_Igor_61 написал:
А откуда после перенумерации взялось 21 и куда делась одна 23?
Вот и мне кажется, что пример не соответствует описанию задачи.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Цитата
_Igor_61 написал:
Здравствуйте! А откуда после перенумерации взялось 21 и куда делась одна 23?
Был последовательно пронумерованный список (ID товара). Некоторые строки были удалены. Список сократился (условно) на 10 строк. Затем появились дубли строк, которые должны иметь и тот-же ID (прайс для Битрикса, при наличии нескольких свойств товара, необходимо две и более строк, в которых разные только свойства, а ID должен быть одинаковый). Если бы не необходимость в дублировании ID никаких проблем не возникло-бы, а так, суть именно в том, что текущая нумерация неважна, важна именно последовательность. а там, где идут два одинаковых значения они и должны остаться одинаковыми из расчета "предыдущая строка+1". По этому 23 и "куда-то делась", дальше она "вернётся".
Цитата
_Igor_61 написал:
И почему обычная сортировка не подходит для этой задачи?
Потому, что необходима сортировка по другой ячейке да и опять-же, сортировка не исправит нумерацию, а перенумерация растягиванием ячейки естественно уничтожит дубли ID
Цитата
Пытливый написал:
Здравствуйте. Может, формулой подойдет, зачем вам этот макрос?
Лист имеет около 7000 строк... Создать колонку, ввести формулу, растянуть до конца, скопировать значения на прежнее место... нет, конечно, если с макросом не сложится и формулой воспользуюсь, просто задача будет не разовая, да как не крути, макрос по удобству будет на голову лучше (ИМХО)
Цитата
nastya2018 написал:
Не уверена, что правильно поняла задачу, но вот что-то наклепалось
Большое спасибо! Если с макросом не сложится, Ваша формула мне кажется подойдёт (опробовал на тестовом файле, более тщательней проверю на рабочем). И да, формат ячейки нужен именно текстовый иначе после экспорта в CSV нули порежутся, а они мне очень нужны.
 
Newsky13, всё равно нет ясности: в итоговой таблице появилось значение 21 - это понятно: было пропущено. Но почему два раза?  А 23 должно бы повториться, но оно теперь только один раз.
 
Юрий М, простите, когда в сообщении это написано не видно, а когда в Экселевском файле смотришь - видно, что повторяющиеся числа 21 во втором столбце расположены на тех же строках, где и повторяющиеся числа 23 в первом столбце. Я так поняла, что в этом дело...
Изменено: nastya2018 - 23.04.2018 22:18:25
"Просите, и дано будет вам; ищите, и найдете; стучите, и отворят вам" (Мф. 7. 7-9)
 
Даже если так, то куда делось второе значение 23? Ведь:
Цитата
Newsky13 написал:
но когда будут встречаться одинаковые значения, они так-же, дублируются столько-же раз, сколько их было,
 
nastya2018, по логике автора 21 не должно повторяться, а 23 должно быть 2 раза.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Цитата
Юрий М написал:
Даже если так, то куда делось второе значение 23? Ведь:
10 и 11 строка колонки А имели одинаковое значение, после перенумерации, эти строки должны так-же иметь одинаковое значение и неважно, какое именно это будет значение, главное, что-бы "предыдущая строка+1" В примере 00023 повторяется 2 раза подряд, а может быть и три и четыре, соответственно, должно стать три или четыре строки 00021 (на примере именно этого файла), а следующая строка, соответственно стать 00022 и т.д.
 
Newsky13, 23 в первом столбце повторялись - почему они не повторяются во втором? Ведь это же Вы писали:
Цитата
Newsky13 написал:
когда будут встречаться одинаковые значения, они так-же, дублируются столько-же раз, сколько их было,
Или переформулируйте.
 
Цитата
Юрий М написал:
Newsky13 , 23 в первом столбце повторялись - почему они не повторяются во втором? Ведь это же Вы писали:
когда будут встречаться одинаковые значения, они так-же, дублируются столько-же раз, сколько их было=
когда будут встречаться строки с одинаковыми значениями подряд, такие строки дублируются столько-же раз, сколько было строк с одинаковыми значениями изначально по формуле "значение предыдущей строки+1".
"Более лучше" переформулировать не удаётся.
Страницы: 1
Наверх