Страницы: 1
RSS
Номер для каждого уникального значения
 
Добрый день.
Подскажите как пронумеровать каждое уникальное значение в таблице?
 
Andreybukh, Доброго дня.
Решение на коленке ) смотрите в файле

P.S. ну соответственно это будет работать если список отсортирован А-Я (как и у вас в примере)
 
Добрый день.
Макросом легко.
Но думаю макрос не нужен...
Формулами тоже не особо сложно, но как-то коряво чтоль...
Скрытый текст
Изменено: Hugo - 24.10.2020 12:11:24
 
Можно вот так:
=ЕСЛИ(СЧЁТЕСЛИ(C$2:C2;[@Товар])=1;МАКС(B$1:B1)+1;ИНДЕКС(B:B;ПОИСКПОЗ([@Товар];C:C;)))
 
Спасибо, но мне нужно что бы диапазо был с возможностью сортировки.
Массив около 10.000 строк и в дальнейшем из него получается спецификация из уникальных названий (по аналогии со сводной таблицей)
Должна быть возможность динамичного изменения при постоянной смене названий товаров и возможность сортировки.
Может есть VBA решение? :(  
 
Andreybukh,
Уважаемый как это?
Цитата
Andreybukh написал:
Подскажите как пронумеровать каждое уникальное значение в таблице?
похоже на ваше сообщение #6? (то что вы написали выше?)

Тыц
Изменено: Wild.Godlike - 24.10.2020 12:34:41
 
VBA решение может где и есть (бесконечность бесконечна), но проще написать своё под именно эту задачу.
Но для этого нужно знать детали.
 
Доброе время суток.
Цитата
Andreybukh написал:
Может есть VBA решение?
А почему бы сразу в первом посте не написать:
Пожалуйста, поделитесь готовым решением на VBA - стесняетесь? Так ваша застенчивость привела к тому, что несколько человек напрасно потратили время на вас, вы не находите?
 
Светлый, приветствую Вас.
Мощное решение формулой, но при сортировке не работает. :cry:  
 
Светлый, приветствую Вас.
Мощное решение формулой, но при сортировке не работает. :cry:

Цитата
Андрей VG написал: ... несколько человек напрасно потратили время на вас, вы не находите?
Приветствую.
Не нахожу.
Думаю что решение через формулу больше отвлекает людей чем решение через VBA. Помимо прочего, эти люди (спасибо им огромное) по-моему не просили защиты от Вас.
Если нет вариантов или желания решить задачу, то просто пройдите мимо.
 
Выделить ячейки где нужна нумерация, выполнить
Код
Sub numeracija()
    Dim c, t$

    With CreateObject("Scripting.Dictionary")
        For Each c In Selection.Cells
            t = c.Offset(, 1).Value
            .Item(t) = 0&
            c.Value = .Count
        Next
    End With

End Sub

Работает только на Винде и только для файла типа этого примера.
Если что - можно ускорить/доработать.
 
Благодарю Вас. Нумерует все строки одним номером. (1)

Я бы мог решить через свод, но у меня данные для закупочных процедур подтягиваются в форму по ИНДЕКС ПОИСКПОЗ и для этого нужен уникальный ID на одиноковый товар. Свод не совсем подходит для текстовых форматов внутри, поэтому пытаюсь создать свой свод через уникальные ID.
 
Цитата
Andreybukh написал:
Мощное решение, но при сортировке не работает.
Вам нужно раз и навсегда привязать номер к товару? Чтобы при сортировке по названию товара номера могли быть не по порядку?
Можете один раз рассчитать по этой формуле а потом заменить на значения.
 
Это не моя проблема, у меня всё ОК: http://prntscr.com/v5vp8s
Или вот видео сделал: видео
Изменено: Hugo - 24.10.2020 14:12:29
 
Цитата
Светлый написал: ... один раз рассчитать по этой формуле а потом заменить на значения.
Могут новые товары добавляться, поэтому необходим постоянный пересчет будет.
Буду пытаться через свод выставлять уникальные значения, а далее через индекспоискпоз проставлять напротив каждого товара.
 
Вариант на Power Query. Обновляете таблицу, она добавит номера, если они не заполнены. Можете добавлять строки с новыми товарами потом обновить и радуетесь.
Скрытый текст
Вот горшок пустой, он предмет простой...
 
Вот это решение!
Класс!
Вот только я полный чайник в PQ и в языке "М"
- Не прошу тратить время на мое обучение, но если есть ссылка на ресур подобных уроков, то скиньте Please.
- Можноли через PQ разносить данные по формам? Например в накладные или иные шаблоны?
 
Цитата
PooHkrd написал:
Вариант на Power Query. Обновляете таблицу, она добавит номера, если они не заполнены. Можете добавлять строки с новыми товарами потом обновить и радуетесь.Скрытый текстКод ? 1234567891011121314let    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],    AddedIndex = Table.AddIndexColumn(Source, "ПорядокСтрок", 0, 1),    GroupedRows = Table.Group(AddedIndex, {"Товар"}, {{"таб", each _, type table }}),    AddedCustom = Table.AddColumn(GroupedRows, "Номер", each List.Max([таб][Номер]), type number),    FilteredRows = Table.SelectRows(AddedCustom, each ([Номер] = null)),    RemovedColumns = Table.RemoveColumns(FilteredRows,{"Номер"}),    AddedIndex1 = Table.SelectRows(AddedCustom, each ([Номер] <> null)) & Table.AddIndexColumn(RemovedColumns, "Номер", List.Max(AddedCustom[Номер]) + 1, 1),    AddedCustom2 = Table.AddColumn(AddedIndex1, "таб2", each let n = [Номер] in Table.AddColumn( Table.RemoveColumns([таб],{"Номер"}), "Номер", each n)),    таб2 = Table.Combine(AddedCustom2[таб2]),    SortedRows = Table.Sort(таб2,{{"ПорядокСтрок", Order.Ascending}}),    SelectedColumns = Table.SelectColumns(SortedRows, Table.ColumnNames(Source))in    SelectedColumns

Прикрепленные файлы
Задача (нумерация уникальных значений).xlsx  (18.16 КБ)


Вот горшок пустой, он предмет простой...
Спасибо! Вот это решение! Класс!
Вот только я полный чайник в PQ и в языке "М"
- Не прошу тратить время на мое обучение, но если есть ссылка на ресур подобных уроков, то скиньте Please.
- Можноли через PQ разносить данные по формам? Например в накладные или иные шаблоны?
Изменено: Andreybukh - 24.10.2020 17:38:51
 
Andreybukh, вы родили мать всех цитат…браво  :D
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Andreybukh написал:
но если есть ссылка на ресур подобных уроков
Вагон уроков прямо у вас под носом, здесь и здесь.
Цитата
Andreybukh написал:
Можноли через PQ разносить данные по формам? Например в накладные или иные шаблоны?
Теоретически можно, нужно только четко понимать, что есть исходные данные, как выглядит форма, и как вы себе представляете процесс "разнесения по формам". У PQ значительно более слабые возможности по сравнению с VBA на тему генерации контента, если поверхностно, то он позволяет относительно легко считывать данные из вагона разных источников, как-то их преобразовать и дальше выгрузить на лист, в модель данных Power Pivot, кэш сводной таблицы, ну, если знать JS, SQL, то можно выгружать еще в текстовые файлы и в БД. Но нельзя управлять форматами ячеек, нельзя программно указывать в какое место на листе выгружать и т.д. Т.е. работа только с данными.
Вот горшок пустой, он предмет простой...
 
Andreybukh, вернитесь и приведите в нормальный вид сообщение. Цитирование - не БЕЗДУМНОЕ копирование!
Страницы: 1
Наверх