Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Повторяющиеся ячейки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Повторяющиеся ячейки
LOTer Дата: Суббота, 06.07.2013, 10:42 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день. Есть список фамилий, нужен макрос который отсортирует их по алфавиту и обозначит повторяющиеся ячейки колонки H, в колонке E, но при этом необходимо чтобы начало и конец каждого повтора обозначались отдельно, к примеру первая фамилия "+", повторы "-" последняя "0"
К сообщению приложен файл: 4549012.xlsx (9.3 Kb)
 
Ответить
СообщениеДобрый день. Есть список фамилий, нужен макрос который отсортирует их по алфавиту и обозначит повторяющиеся ячейки колонки 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]


Ю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
Дата добавления - 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)))
К сообщению приложен файл: 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
Дата добавления - 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;;"";"-";"+")

Формулу можно сократить
К сообщению приложен файл: LOTer_2.xls (44.5 Kb)


Ю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
Дата добавления - 06.07.2013 в 11:58
Serge_007 Дата: Суббота, 06.07.2013, 12:06 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Алишер, ИМХО лучше использовать Select Case, чем If smile


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеАлишер, ИМХО лучше использовать Select Case, чем If smile

Автор - Serge_007
Дата добавления - 06.07.2013 в 12:06
ShAM Дата: Суббота, 06.07.2013, 12:23 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Согласен. Я и написал "жуть" smile
 
Ответить
СообщениеСогласен. Я и написал "жуть" smile

Автор - ShAM
Дата добавления - 06.07.2013 в 12:23
AndreTM Дата: Суббота, 06.07.2013, 12:44 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Друзья, вы прикалываетесь? Или привычка решать всё уже готовыми методами - затмевает? smile
Всё же проще:
К сообщению приложен файл: 4549012-1.xlsx (13.4 Kb)


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Воскресенье, 07.07.2013, 03:29
 
Ответить
СообщениеДрузья, вы прикалываетесь? Или привычка решать всё уже готовыми методами - затмевает? smile
Всё же проще:

Автор - AndreTM
Дата добавления - 06.07.2013 в 12:44
Serge_007 Дата: Суббота, 06.07.2013, 12:47 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (AndreTM)
привычка решать всё уже готовыми методами - затмевает?

Андрей, то что ты предлагаешь - это не то что нужно ТС


Ю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";"-")))

biggrin


Сообщение отредактировал ShAM - Суббота, 06.07.2013, 12:57
 
Ответить
СообщениеА если так (в файле Андрея):
Код
=ЕСЛИ(И(H2<>H1;H2<>H3);"";ЕСЛИ(H2<>H1;"+";ЕСЛИ(H2<>H3;"0";"-")))

biggrin

Автор - ShAM
Дата добавления - 06.07.2013 в 12:57
Serge_007 Дата: Суббота, 06.07.2013, 12:58 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (ShAM)
А если так
Об этом я и писал:
Цитата (Serge_007)
Формулу можно сократить


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (ShAM)
А если так
Об этом я и писал:
Цитата (Serge_007)
Формулу можно сократить

Автор - Serge_007
Дата добавления - 06.07.2013 в 12:58
ShAM Дата: Суббота, 06.07.2013, 13:03 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Цитата (Serge_007)
Формулу можно сократить

Моя то уж точно раз в 5 сократилась. smile
 
Ответить
Сообщение
Цитата (Serge_007)
Формулу можно сократить

Моя то уж точно раз в 5 сократилась. smile

Автор - ShAM
Дата добавления - 06.07.2013 в 13:03
Serge_007 Дата: Суббота, 06.07.2013, 17:55 | Сообщение № 15
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Андрей, ты когда корректируешь свои посты делай это так, что бы другим краснеть не приходилось. Это просто просьба


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеАндрей, ты когда корректируешь свои посты делай это так, что бы другим краснеть не приходилось. Это просто просьба

Автор - Serge_007
Дата добавления - 06.07.2013 в 17:55
LOTer Дата: Суббота, 06.07.2013, 20:59 | Сообщение № 16
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Благодарю за помощь, формула очень помогла))))
 
Ответить
СообщениеБлагодарю за помощь, формула очень помогла))))

Автор - LOTer
Дата добавления - 06.07.2013 в 20:59
AndreTM Дата: Воскресенье, 07.07.2013, 03:31 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Цитата (Serge_007)
Андрей, ты когда корректируешь свои посты
Всё-всё, исправляюсь... smile

Теперь, когда посмотрел готовое решение - дошло, что выделять надо только повторы...
Тогда так (или через ИНДЕКС()):
Код
=ВЫБОР((H2=H1)*2+(H2=H3)+1;"";"+";"0";"-")
К сообщению приложен файл: 4549012-2.xlsx (13.6 Kb)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
Цитата (Serge_007)
Андрей, ты когда корректируешь свои посты
Всё-всё, исправляюсь... smile

Теперь, когда посмотрел готовое решение - дошло, что выделять надо только повторы...
Тогда так (или через ИНДЕКС()):
Код
=ВЫБОР((H2=H1)*2+(H2=H3)+1;"";"+";"0";"-")

Автор - AndreTM
Дата добавления - 07.07.2013 в 03:31
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!