Автор Titan Виталий задал вопрос в разделе Программное обеспечение
как пронумеровать одинаковые названия в Excel и получил лучший ответ
Ответ от Abram Pupkin[гуру]
Очень грамотно объяснила Юля.
Но присваивать имена нескольким десяткам ячеек - это утомительно.
Я бы воспользовался формулой:
=B2&" "&СЧЁТЕСЛИ (B$2:B2;B2)
P.S.
обращайте внимание чтобы после названия не было пробела.
Ответ от Ўля Павлова[гуру]
Каждой ячейке или указанному диапазону можно присвоить символьное имя, отличающееся от обычного адреса ячейки А1
Доступ к диапазону с именем можно обеспечить через имя или сделав любую ячейку диапазона текущей и перейдя в начальную ячейку диапазона. А затем программным путем можно составить нужный список ссылок и проиндексировать его хоть на листе, хоть прямо в памяти программы.
Непонятно что вы имеете ввиду под одинаковыми названиями.
Если это одинаковые имена адресов - то вероятно, что диапазон уже задан с именем, но при указании имени выделяется весь диапазон, а не одна ячейка. попробуйте.
Если это одинаковые значения нескольких текстовых ячеек,
то перебирая ячейки и анализируя повторяемость значения Вы должны проверить наличие такого значения (и их количество) в ячейках выше текущей ячейки прибавить 1 к найденному количеству, если значение повторилось. Теперь с чистой совестью можно этой ячейке присвоить имя A1_3
или Петров_3
либо дописать "пробел3" к самому значению ячейки.
Теперь ячеки будут отличаться либо по имени, либо по значению.
Разумеется, если дописка в значении, то при желании получить значение нужно проанализировать наличие дописки и отбросить её.
А вот если имена с допиской - тут тоже можно анализировать, но необязательно, так как само значение не изменялось
С другой стороны, если при наличии индексированных имен делаете какую-то выборку,
то можете организовать цикл, в котором будут имена генерироваться повторно до тех пор, пока имя не будет определено как отсутствующее,
Например Петров_4. Поскольку при вызове отсутствующего может
наступить исключительная ситуация, ее надо будет отловить и обработать
Каждой ячейке или указанному диапазону можно присвоить символьное имя, отличающееся от обычного адреса ячейки А1
Доступ к диапазону с именем можно обеспечить через имя или сделав любую ячейку диапазона текущей и перейдя в начальную ячейку диапазона. А затем программным путем можно составить нужный список ссылок и проиндексировать его хоть на листе, хоть прямо в памяти программы.
Непонятно что вы имеете ввиду под одинаковыми названиями.
Если это одинаковые имена адресов - то вероятно, что диапазон уже задан с именем, но при указании имени выделяется весь диапазон, а не одна ячейка. попробуйте.
Если это одинаковые значения нескольких текстовых ячеек,
то перебирая ячейки и анализируя повторяемость значения Вы должны проверить наличие такого значения (и их количество) в ячейках выше текущей ячейки прибавить 1 к найденному количеству, если значение повторилось. Теперь с чистой совестью можно этой ячейке присвоить имя A1_3
или Петров_3
либо дописать "пробел3" к самому значению ячейки.
Теперь ячеки будут отличаться либо по имени, либо по значению.
Разумеется, если дописка в значении, то при желании получить значение нужно проанализировать наличие дописки и отбросить её.
А вот если имена с допиской - тут тоже можно анализировать, но необязательно, так как само значение не изменялось
С другой стороны, если при наличии индексированных имен делаете какую-то выборку,
то можете организовать цикл, в котором будут имена генерироваться повторно до тех пор, пока имя не будет определено как отсутствующее,
Например Петров_4. Поскольку при вызове отсутствующего может
наступить исключительная ситуация, ее надо будет отловить и обработать
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: как пронумеровать одинаковые названия в Excel