Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 След.
Сортировка строк по количеству повторений
 
Цитата
JayBhagavan написал:
Tsarneba , недописал макрос...
ЗЫ Исправил макрос.

Изменено: JayBhagavan  - 2 Авг 2016 10:07:11
СПАСИБО огромное.Вы мне очень помогли!.
Сортировка строк по количеству повторений
 
JayBhagavan,Спасибо,но что-то ничего не происходит. Как было в  разнобой так и осталось...


Объясню. В столбце С есть данные которые повторяются. нужна сортировка по которой данные повторений которых больше были вверху(или внизу).
Изменено: Tsarneba - 02.08.2016 09:48:54
Сортировка строк по количеству повторений
 
Сортировка таблицы по повторам столбца С.
Спасибо
Сортировка строк по количеству повторений
 
Код
Sub www()
    Dim r&, a, i&, n&, aa
    Dim DictInp As Object: Set DictInp = CreateObject("Scripting.Dictionary"): DictInp.CompareMode = vbTextCompare
    Columns(3).ClearContents
    a = Cells(2).Resize(Cells(Rows.Count, 1).End(xlUp).Row, 2).Value
    On Error Resume Next
    For i = 1 To UBound(a)
        If DictInp.exists(a(i, 1)) Then
            DictInp.Item(a(i, 1)) = DictInp.Item(a(i, 1)) + 1
        Else
            DictInp.Add a(i, 1), a(i, 2)
        End If
    Next
    aa = DictInp.keys
    For i = 1 To UBound(a)
        For n = 1 To DictInp.Count
            If a(i, 1) = aa(n) Then a(i, 2) = DictInp.Item(aa(n))
        Next: Next
    Cells(2).Resize(Cells(Rows.Count, 1).End(xlUp).Row, 2).Value = a
Cells(1).Resize(Cells(Rows.Count, 1).End(xlUp).Row, 3).Sort Key1:=Range("C2"), Order1:=xlDescending, Header:=xlGuess
End Sub


Помогите изменить этот макрос под мою задачу пожалуйста.
Сортировка строк по количеству повторений
 
Здравствуйте уважаемые ГУРУ). Скажите пожалуйста,можно ли макросом сделать сортировку столбца по количеству повторений в нем?
Пример подгрузил. Сортировку нужно сделать по столбцу С. Так как фаил большой и строк много,а комп не сильно мощный,формулы зависают. Хотелось бы получить помощь макросом.
СПАСИБО.
Удаление дубликатов букв(символов) в строке
 
Цитата
Ts.Soft написал:
Только она удаляет подряд идущие дубликаты, т.е. из АА55А сделает А5А
Мне это подходит.Спасибо огромное.
Удаление дубликатов букв(символов) в строке
 
Здравствуйте друзья. Подскажите пожалуйста способ удаления дубликатов литер,цифр в строке.
Пример,есть строка вида 122ААБВГГД
как её сделать вида 12АБВГД ?

Спасибо.
Индексация текста (отсортировать буквы в слове)
 
Юрий СПАСИБО огромное!
Индексация текста (отсортировать буквы в слове)
 
Цитата
Юрий М написал:
Tsarneba , ещё раз увижу такие горе-цитаты - закрою тему. Исправьте свои сообщения.
См. мой вариант.
Исправил,сорри.
Вариант удобен.Но сортировка не правильная(
А так..очень удобно сделанно)
Индексация текста (отсортировать буквы в слове)
 
Цитата
Jack Famous написал:
Tsarneba , добрый день!))) если правильно понял…
Добрый день.Спасибо.Сейчас проверю
Изменено: Tsarneba - 03.06.2016 13:59:49
Индексация текста (отсортировать буквы в слове)
 
Цитата
Ts.Soft написал:
1. Почему в примере
ГОЛИКОВА это АВГИКЛО
ГОРБАЧЕВА это ААБВГЕОРЧ
т.е. почему в первом случае не учитывается вторая буква "О", а во втором случае учитываются обе буква "А"? В какой случае ошибка?

2. Как должно быть в таком случае:
ГОЛИКОВА 51 - это 15АВГИКЛОО или 51АВГИКЛОО?
т.е. цифры подлежат индексации?

3. Как должны выглядеть такие случаи:
ГОЛИКОВА 51 3
ГОЛИКОВА 51/3
1ое. Не внимательно написал буква о учитывается должно быть АВГИКЛОО
2ое. Цифры по порядку
Цитата
Tsarneba написал:
,а цыфры ставить перед буквами во возрастанию.
15АВГИКЛОО
3ие. слеши точки пробелы разные символы не учитываются
Должно быть 135АВГИКЛОО
Индексация текста (отсортировать буквы в слове)
 
Это не имеет значения
Индексация текста (отсортировать буквы в слове)
 
Цитата
Юрий М написал: для чего такая штуковина может понадобится? ))
Задача глобальная) суть исправить ошибки на основе таблицы с правильными улицами)
с помощью индексации тот текст что у меня есть сравню с правильной Табличкой.
Перед тем как сравнить уберу ненужные символы такие как укр. і ї є русские ь э. точки,запятые,апострофы,слеши
На примере есть улица горкого,горького,а.горьког и тд. Мне нужно чтобы был правильный вариант Улица Горького напротив каждого примера) как это сделать если таких строк около 400000? Вручную займет месяца 2) а сделать надо быстро,вот решил с помощью индексации на основе Правильной базы данных выполнить эту задачу.
Изменено: Tsarneba - 03.06.2016 22:35:29
Индексация текста (отсортировать буквы в слове)
 
Здравствуйте ребята.Подскажите пожалуйста,можно ли как-то формулой, либо макросом Текст сделать в алфавитном порядке?
Пример:
ГОЛИКОВА
ГОРБАЧЕВА 1
ГОРБАЧЕВА
ЛЕВАНЕВСКОГО
Как должно получится:
АВГИКЛО
1ААБВГЕОРЧ
ААБВГЕОРЧ
АВВГЕЕКЛНООС

Пример подгрузил.
Пробелы не брать во внимание,а цыфры ставить перед буквами во возрастанию.
Спасибо.
Частичная замена одного столбца вторым
 
Здравствуйте.Подскажите пожалуйста.Как сделать так чтобы заменить данные одного столбца вторым,но если во втором столбце есть пустые ячейки,то в первом данные оставить как были,не заменять пустыми?
Изменения порядкового номера в 2х таблицах
 
Нда...все элементарно. Спасибо.
Изменения порядкового номера в 2х таблицах
 
Сегодня ночью сделал с помощью макроса. макрос работает и на цифры,только долго. Мне предстоит все группы менять вручную.а потом использовать макрос,может все же  есть способ который чуть быстрее?Который например при ручном присваивании номера группы сразу будет менять это число на всех листах?
Изменения порядкового номера в 2х таблицах
 
Здравствуйте уважаемые знатоки.У меня к Вам вопрос. Имея 2 таблицы на 2х листах. Изменяя цифры в одной таблице,возможно сделать так чтобы оно изменяло все номера в другой?
Прикрепил пример.В нем мне нужно сделать следующее в столбце б номер 9568 изменить на номер 1568. А номер 9571 на номер 2.
Вся суть вопроса в следующем.Мне нужно чтобы меняя эти цифры на нужные мне,на листе2 соответственные цифры менялись также. тоесть на листе 2 больше 20 строк с номером 9568 поменялись на 1568.
Может быть с помощью CTRL обьеденить 2 листа и потом в столбцеу В с помощью ctrl+H заменять цифры. Но мне нужна точная обработка.Я понятия не имею как сделать так чтобы оно число допустим 189 поменяло на 1,но так чтобы остальные числа 1890,2189 не меняло.

Как вариант я думал нужным мне цифрам присвоить группу и потом исользовать макрос.Но макрос у меня работал с буквами не знаю как с цифрами себя поведет.
Что делал макрос. Весь столбец с именами которых много и они могут повторятся он присваивал номер группы который брал из таблички.
Код
Sub Макрос1()
    Dim i&, j&, lRow&, lRow2&
    Dim arr, arr2
    Application.ScreenUpdating = False

    
    With Sheets("Таблица")
        lRow = .Cells(.Rows.Count, "A").End(xlUp).Row
        .Range("C2:C" & lRow).FormulaR1C1 = "=LEN(RC[-2])"
        With .Sort
            .SortFields.Clear
            .SortFields.Add Key:=Range("C2:C" & lRow), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
            .SetRange Range("A2:C" & lRow)
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
        arr = .Range("A2:B" & lRow).Value
    End With
    
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationManual
    With Sheets("Лист1")
        lRow2 = .Cells(.Rows.Count, "A").End(xlUp).Row
        arr2 = .Range("A2:B" & lRow2).Value
    End With
    
    For j = LBound(arr2) To UBound(arr2)
        For i = LBound(arr) To UBound(arr)
            If (arr2(j, 1) Like arr(i, 1) & "*") Then
                arr2(j, 2) = arr(i, 2)
                Exit For
            End If
        Next i
        
        With Application
            .StatusBar = j
        End With
    Next j
'
'    For i = LBound(arr) To UBound(arr)
'        For j = LBound(arr2) To UBound(arr2)
'            If (arr2(j, 1) Like "*" & arr(i, 1) & "*") And arr2(j, 2) = "" Then
'                arr2(j, 2) = arr(i, 2)
'            End If
'            If (Sheets("Лист1").Cells(j, "A") Like "*" & Sheets("Таблица").Cells(i, "A") & "*") And _
'                Sheets("Лист1").Cells(j, "B") = "" Then
'                Sheets("Лист1").Cells(j, "B") = Sheets("Таблица").Cells(i, "B")
'            End If
'        Next j
'    Next i
    
    Sheets("Лист1").Range("A2:B" & lRow2) = arr2
    
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationAutomatic
    
    With Sheets("Таблица")
        With .Sort
            .SortFields.Clear
            .SortFields.Add Key:=Range("B2:B" & lRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .SetRange Range("A2:C" & lRow)
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
        .Columns(3).ClearContents
    End With

    Application.ScreenUpdating = True
End Sub

Изменение номера в таблице
 
Как вариант формула которая допустим к моему любому числу добавит 79000....тоесть был номер 1 станет 79001. Был номер 1020 станет 80021.
Изменение номера в таблице
 
Цитата
vikttur написал:
Предлагаете догадываться, каким менять? Этому дала, этому - подождет?
номера идут по порядку, но с пропусками 1 2 5 10 20 111 1000.
Нужно чтобы выглядило 79000 79001 79002 и тд. пусть хоть 100000 будет главное чтобы они шли без пропусков

если бы номера не повторялись я бы просто написал 79000 79001 и потянул бы вниз,но так как может быть имя вася повторятся раз 10 и номер соответственно 1 будет повторятся тоже 10 раз я не знаю как справится с этой задачей  
Изменено: Tsarneba - 24.03.2016 12:49:39
Изменение номера в таблице
 
Это пример..у меня около 150000 имен. из них примерно в 40 тысячах нужно изменить группу и начать номер с 79000
Изменение номера в таблице
 
Здравствуйте можно как-то формулой или макросом изменить уже присвоеные номера? например есть группы с номерами 1 10 15 1001 нужно чтобы они начинались 79001 79002 79003 79004....?
Имя:     номер:   Должно быть:
1.Вася      1            79001
2.Вася      1            79001
3.Петя      10           79002
4.Катя      1001       79003
Изменено: Tsarneba - 24.03.2016 11:51:15
Присвоить повторным именам одинаковый номер
 
Спасибо большое за помощь
Изменено: Tsarneba - 24.03.2016 11:42:35
Присвоить повторным именам одинаковый номер
 
Здравствуйте уважаемые знатоки. Подскажите пожалуйста
Можно ли списку имен
Пример:
1.Вася
2.Вася
3.Петя
4.Женя
5.Петя
6.Женя
7.Коля
8.Вася

во втором столбце присвоить порядковый номер начиная с 76000 и дальше,но повторным именам одинаковый?
Изменение формулы ВПР
 
Код
Sub Макрос1()
    Dim i&, j&, lRow&, lRow2&
    
    Application.ScreenUpdating = False
    
    With Sheets("Таблица")
        lRow = .Cells(.Rows.Count, "A").End(xlUp).Row
        .Range("C2:C" & lRow).FormulaR1C1 = "=LEN(RC[-2])"
        With .Sort
            .SortFields.Clear
            .SortFields.Add Key:=Range("C2:C" & lRow), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
            .SetRange Range("A2:C" & lRow)
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
    
    With Sheets("Лист1")
        lRow2 = .Cells(.Rows.Count, "A").End(xlUp).Row
    End With
    
    For i = 2 To lRow
        For j = 2 To lRow2
            If (Sheets("Лист1").Cells(j, "A") Like "*" & Sheets("Таблица").Cells(i, "A") & "*") And _
                Sheets("Лист1").Cells(j, "B") = "" Then
                Sheets("Лист1").Cells(j, "B") = Sheets("Таблица").Cells(i, "B")
            End If
        Next j
    Next i
    
    With Sheets("Таблица")
        With .Sort
            .SortFields.Clear
            .SortFields.Add Key:=Range("B2:B" & lRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .SetRange Range("A2:C" & lRow)
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
        .Columns(3).ClearContents
    End With
    Application.ScreenUpdating = True
End Sub

Как можно изменить этот макрос,чтобы поиск и присваивание группы Имени велось с начала имени. Столкнулся с проблемой,что если в таблице есть имя ЯН,оно всем именам которые оканчиваются на ян или содержат в корне сочитание ян присваивает одну группу. Хотелось бы чтобы группу присваивало только если слово начинается на ЯН.
Изменение формулы ВПР
 
Отправил на почту. Это главный файл который мне нужно обработать. Спасибо.
Изменение формулы ВПР
 
Ваш пример я с самого утра пытаюсь применить. Ексель просто не отвечает и виснет. Уже дошел до 25 000 записей к применению-результата нет.
Изменение формулы ВПР
 
Да все верно
Изменение формулы ВПР
 
Оптимальный вариант все в одну группу,мне потом вручную под группы будет легче обработать. Главная задача основной массив данных обработать,остаточные файлы внести потом ошибкой.Имен очень много,несколько миллионов. если каждый лапатить через фильтр потребуется не один месяц работы. Вот и прошу,помочь именно с такой целью.
Если бы можно было вносить в группу имена плана *Абдулла* где звезда-любые символы вполне удовлетворило бы.  
Изменение формулы ВПР
 
Цитата
Tsarneba написал:
Например имя АБДУЛЛА в таблице, в листе 2 есть имена ААБДУЛЛА , АБДУЛЛА МУ, АБДУЛЛАЗИЗ, АБДУЛЛА.
за основу имя с таблицы,если доп сиволы есть,тогда присваивать такой же номер
Страницы: 1 2 3 След.
Наверх