Повторяющиеся ячейки
LOTer
Дата: Суббота, 06.07.2013, 10:42 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Добрый день. Есть список фамилий, нужен макрос который отсортирует их по алфавиту и обозначит повторяющиеся ячейки колонки H, в колонке E, но при этом необходимо чтобы начало и конец каждого повтора обозначались отдельно, к примеру первая фамилия "+", повторы "-" последняя "0"
Добрый день. Есть список фамилий, нужен макрос который отсортирует их по алфавиту и обозначит повторяющиеся ячейки колонки H, в колонке E, но при этом необходимо чтобы начало и конец каждого повтора обозначались отдельно, к примеру первая фамилия "+", повторы "-" последняя "0" LOTer
Ответить
Сообщение Добрый день. Есть список фамилий, нужен макрос который отсортирует их по алфавиту и обозначит повторяющиеся ячейки колонки H, в колонке E, но при этом необходимо чтобы начало и конец каждого повтора обозначались отдельно, к примеру первая фамилия "+", повторы "-" последняя "0" Автор - LOTer Дата добавления - 06.07.2013 в 10:42
Serge_007
Дата: Суббота, 06.07.2013, 10:50 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Сортировка пишется макрорекордером: [vba]Код
Sub Макрос1() ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("H1"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Лист1").Sort .SetRange Range("H1:H31") .Header = xlNo .Orientation = xlTopToBottom End With End Sub
[/vba]
Сортировка пишется макрорекордером: [vba]Код
Sub Макрос1() ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("H1"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Лист1").Sort .SetRange Range("H1:H31") .Header = xlNo .Orientation = xlTopToBottom End With End Sub
[/vba] Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Сортировка пишется макрорекордером: [vba]Код
Sub Макрос1() ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("H1"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Лист1").Sort .SetRange Range("H1:H31") .Header = xlNo .Orientation = xlTopToBottom End With End Sub
[/vba] Автор - Serge_007 Дата добавления - 06.07.2013 в 10:50
LOTer
Дата: Суббота, 06.07.2013, 11:01 |
Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Спасибо с сортировкой разобрался а как быть с повторами?
Спасибо с сортировкой разобрался а как быть с повторами? LOTer
Ответить
Сообщение Спасибо с сортировкой разобрался а как быть с повторами? Автор - LOTer Дата добавления - 06.07.2013 в 11:01
Serge_007
Дата: Суббота, 06.07.2013, 11:15 |
Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Я бы сделал функциями листа: Код
=ЕСЛИ(И(СЧЁТЕСЛИ(H$1:H$31;H1)>1;СЧЁТЕСЛИ(H$1:H1;H1)=1);"+";--НЕ(И(СЧЁТЕСЛИ(H$1:H$31;H1)=МАКС(СЧЁТЕСЛИ(H$1:H1;H1));СЧЁТЕСЛИ(H$1:H$31;H1)>1)))
Я бы сделал функциями листа: Код
=ЕСЛИ(И(СЧЁТЕСЛИ(H$1:H$31;H1)>1;СЧЁТЕСЛИ(H$1:H1;H1)=1);"+";--НЕ(И(СЧЁТЕСЛИ(H$1:H$31;H1)=МАКС(СЧЁТЕСЛИ(H$1:H1;H1));СЧЁТЕСЛИ(H$1:H$31;H1)>1)))
Serge_007
К сообщению приложен файл:
LOTer.xls
(47.0 Kb)
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Я бы сделал функциями листа: Код
=ЕСЛИ(И(СЧЁТЕСЛИ(H$1:H$31;H1)>1;СЧЁТЕСЛИ(H$1:H1;H1)=1);"+";--НЕ(И(СЧЁТЕСЛИ(H$1:H$31;H1)=МАКС(СЧЁТЕСЛИ(H$1:H1;H1));СЧЁТЕСЛИ(H$1:H$31;H1)>1)))
Автор - Serge_007 Дата добавления - 06.07.2013 в 11:15
LOTer
Дата: Суббота, 06.07.2013, 11:25 |
Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
решение отличное (никогда не приходилось применять таких формул) если не трудно хотелось бы еще обозначить промежутки межу + и 0 в виде минуса
решение отличное (никогда не приходилось применять таких формул) если не трудно хотелось бы еще обозначить промежутки межу + и 0 в виде минуса LOTer
Ответить
Сообщение решение отличное (никогда не приходилось применять таких формул) если не трудно хотелось бы еще обозначить промежутки межу + и 0 в виде минуса Автор - LOTer Дата добавления - 06.07.2013 в 11:25
Serge_007
Дата: Суббота, 06.07.2013, 11:56 |
Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Не трудно: Код
=ВЫБОР((СЧЁТЕСЛИ(H$1:H1;H1)>1)*1+И(СЧЁТЕСЛИ(H$1:H$31;H1)>1;СЧЁТЕСЛИ(H$1:H1;H1)=1)*2+НЕ(И(СЧЁТЕСЛИ(H$1:H$31;H1)=МАКС(СЧЁТЕСЛИ(H$1:H1;H1));СЧЁТЕСЛИ(H$1:H$31;H1)>1))*3;0;;"";"-";"+")
Формулу можно сократить
Не трудно: Код
=ВЫБОР((СЧЁТЕСЛИ(H$1:H1;H1)>1)*1+И(СЧЁТЕСЛИ(H$1:H$31;H1)>1;СЧЁТЕСЛИ(H$1:H1;H1)=1)*2+НЕ(И(СЧЁТЕСЛИ(H$1:H$31;H1)=МАКС(СЧЁТЕСЛИ(H$1:H1;H1));СЧЁТЕСЛИ(H$1:H$31;H1)>1))*3;0;;"";"-";"+")
Формулу можно сократить Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Не трудно: Код
=ВЫБОР((СЧЁТЕСЛИ(H$1:H1;H1)>1)*1+И(СЧЁТЕСЛИ(H$1:H$31;H1)>1;СЧЁТЕСЛИ(H$1:H1;H1)=1)*2+НЕ(И(СЧЁТЕСЛИ(H$1:H$31;H1)=МАКС(СЧЁТЕСЛИ(H$1:H1;H1));СЧЁТЕСЛИ(H$1:H$31;H1)>1))*3;0;;"";"-";"+")
Формулу можно сократить Автор - Serge_007 Дата добавления - 06.07.2013 в 11:56
ShAM
Дата: Суббота, 06.07.2013, 11:58 |
Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация:
249
±
Замечаний:
0% ±
Excel 2010
Добавляем еще 1 проверку Код
=ЕСЛИ(И(СЧЁТЕСЛИ(H$1:H$31;H1)>1;СЧЁТЕСЛИ(H$1:H1;H1)=1);"+";ЕСЛИ(И(СЧЁТЕСЛИ(H$1:H$31;H1)<>МАКС(СЧЁТЕСЛИ(H$1:H1;H1));СЧЁТЕСЛИ(H$1:H$31;H1)>1);"-";--НЕ(И(СЧЁТЕСЛИ(H$1:H$31;H1)=МАКС(СЧЁТЕСЛИ(H$1:H1;H1));СЧЁТЕСЛИ(H$1:H$31;H1)>1))))
Жуть, конечно, получилась, но работает.
Добавляем еще 1 проверку Код
=ЕСЛИ(И(СЧЁТЕСЛИ(H$1:H$31;H1)>1;СЧЁТЕСЛИ(H$1:H1;H1)=1);"+";ЕСЛИ(И(СЧЁТЕСЛИ(H$1:H$31;H1)<>МАКС(СЧЁТЕСЛИ(H$1:H1;H1));СЧЁТЕСЛИ(H$1:H$31;H1)>1);"-";--НЕ(И(СЧЁТЕСЛИ(H$1:H$31;H1)=МАКС(СЧЁТЕСЛИ(H$1:H1;H1));СЧЁТЕСЛИ(H$1:H$31;H1)>1))))
Жуть, конечно, получилась, но работает. ShAM
Ответить
Сообщение Добавляем еще 1 проверку Код
=ЕСЛИ(И(СЧЁТЕСЛИ(H$1:H$31;H1)>1;СЧЁТЕСЛИ(H$1:H1;H1)=1);"+";ЕСЛИ(И(СЧЁТЕСЛИ(H$1:H$31;H1)<>МАКС(СЧЁТЕСЛИ(H$1:H1;H1));СЧЁТЕСЛИ(H$1:H$31;H1)>1);"-";--НЕ(И(СЧЁТЕСЛИ(H$1:H$31;H1)=МАКС(СЧЁТЕСЛИ(H$1:H1;H1));СЧЁТЕСЛИ(H$1:H$31;H1)>1))))
Жуть, конечно, получилась, но работает. Автор - ShAM Дата добавления - 06.07.2013 в 11:58
Serge_007
Дата: Суббота, 06.07.2013, 12:06 |
Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Алишер, ИМХО лучше использовать Select Case, чем If
Алишер, ИМХО лучше использовать Select Case, чем If Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Алишер, ИМХО лучше использовать Select Case, чем If Автор - Serge_007 Дата добавления - 06.07.2013 в 12:06
ShAM
Дата: Суббота, 06.07.2013, 12:23 |
Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация:
249
±
Замечаний:
0% ±
Excel 2010
Согласен. Я и написал "жуть"
Согласен. Я и написал "жуть" ShAM
Ответить
Сообщение Согласен. Я и написал "жуть" Автор - ShAM Дата добавления - 06.07.2013 в 12:23
AndreTM
Дата: Суббота, 06.07.2013, 12:44 |
Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация:
501
±
Замечаний:
0% ±
2003 & 2010
Друзья, вы прикалываетесь? Или привычка решать всё уже готовыми методами - затмевает? Всё же проще:
Друзья, вы прикалываетесь? Или привычка решать всё уже готовыми методами - затмевает? Всё же проще: AndreTM
Skype: andre.tm.007 Donate: Q iwi: 9517375010
Сообщение отредактировал AndreTM - Воскресенье, 07.07.2013, 03:29
Ответить
Сообщение Друзья, вы прикалываетесь? Или привычка решать всё уже готовыми методами - затмевает? Всё же проще: Автор - AndreTM Дата добавления - 06.07.2013 в 12:44
Serge_007
Дата: Суббота, 06.07.2013, 12:47 |
Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Цитата (AndreTM )
привычка решать всё уже готовыми методами - затмевает?
Андрей, то что ты предлагаешь - это не то что нужно ТС
Цитата (AndreTM )
привычка решать всё уже готовыми методами - затмевает?
Андрей, то что ты предлагаешь - это не то что нужно ТСSerge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Цитата (AndreTM )
привычка решать всё уже готовыми методами - затмевает?
Андрей, то что ты предлагаешь - это не то что нужно ТСАвтор - Serge_007 Дата добавления - 06.07.2013 в 12:47
ShAM
Дата: Суббота, 06.07.2013, 12:57 |
Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация:
249
±
Замечаний:
0% ±
Excel 2010
А если так (в файле Андрея): Код
=ЕСЛИ(И(H2<>H1;H2<>H3);"";ЕСЛИ(H2<>H1;"+";ЕСЛИ(H2<>H3;"0";"-")))
А если так (в файле Андрея): Код
=ЕСЛИ(И(H2<>H1;H2<>H3);"";ЕСЛИ(H2<>H1;"+";ЕСЛИ(H2<>H3;"0";"-")))
ShAM
Сообщение отредактировал ShAM - Суббота, 06.07.2013, 12:57
Ответить
Сообщение А если так (в файле Андрея): Код
=ЕСЛИ(И(H2<>H1;H2<>H3);"";ЕСЛИ(H2<>H1;"+";ЕСЛИ(H2<>H3;"0";"-")))
Автор - ShAM Дата добавления - 06.07.2013 в 12:57
Serge_007
Дата: Суббота, 06.07.2013, 12:58 |
Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Об этом я и писал: Цитата (Serge_007 )
Формулу можно сократить
Об этом я и писал: Цитата (Serge_007 )
Формулу можно сократить
Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Об этом я и писал: Цитата (Serge_007 )
Формулу можно сократить
Автор - Serge_007 Дата добавления - 06.07.2013 в 12:58
ShAM
Дата: Суббота, 06.07.2013, 13:03 |
Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация:
249
±
Замечаний:
0% ±
Excel 2010
Цитата (Serge_007 )
Формулу можно сократить
Моя то уж точно раз в 5 сократилась.
Цитата (Serge_007 )
Формулу можно сократить
Моя то уж точно раз в 5 сократилась. ShAM
Ответить
Сообщение Цитата (Serge_007 )
Формулу можно сократить
Моя то уж точно раз в 5 сократилась. Автор - ShAM Дата добавления - 06.07.2013 в 13:03
Serge_007
Дата: Суббота, 06.07.2013, 17:55 |
Сообщение № 15
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Андрей, ты когда корректируешь свои посты делай это так, что бы другим краснеть не приходилось. Это просто просьба
Андрей, ты когда корректируешь свои посты делай это так, что бы другим краснеть не приходилось. Это просто просьба Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Андрей, ты когда корректируешь свои посты делай это так, что бы другим краснеть не приходилось. Это просто просьба Автор - Serge_007 Дата добавления - 06.07.2013 в 17:55
LOTer
Дата: Суббота, 06.07.2013, 20:59 |
Сообщение № 16
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Благодарю за помощь, формула очень помогла))))
Благодарю за помощь, формула очень помогла)))) LOTer
Ответить
Сообщение Благодарю за помощь, формула очень помогла)))) Автор - LOTer Дата добавления - 06.07.2013 в 20:59
AndreTM
Дата: Воскресенье, 07.07.2013, 03:31 |
Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация:
501
±
Замечаний:
0% ±
2003 & 2010
Цитата (Serge_007 )
Андрей, ты когда корректируешь свои посты
Всё-всё, исправляюсь... Теперь, когда посмотрел готовое решение - дошло, что выделять надо только повторы... Тогда так (или через ИНДЕКС() ): Код
=ВЫБОР((H2=H1)*2+(H2=H3)+1;"";"+";"0";"-")
Цитата (Serge_007 )
Андрей, ты когда корректируешь свои посты
Всё-всё, исправляюсь... Теперь, когда посмотрел готовое решение - дошло, что выделять надо только повторы... Тогда так (или через ИНДЕКС() ): Код
=ВЫБОР((H2=H1)*2+(H2=H3)+1;"";"+";"0";"-")
AndreTM
Skype: andre.tm.007 Donate: Q iwi: 9517375010
Ответить
Сообщение Цитата (Serge_007 )
Андрей, ты когда корректируешь свои посты
Всё-всё, исправляюсь... Теперь, когда посмотрел готовое решение - дошло, что выделять надо только повторы... Тогда так (или через ИНДЕКС() ): Код
=ВЫБОР((H2=H1)*2+(H2=H3)+1;"";"+";"0";"-")
Автор - AndreTM Дата добавления - 07.07.2013 в 03:31