Поиск уникальных значений из массива данных
122334boss
Дата: Понедельник, 10.04.2017, 12:47 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Добрый день) Есть массив данных, нужно найти уникальные значения и их количество. Пример прикреплен. Не селен в Excel, если решение будет без макросов, буду очень благодарен. Заранее спасибо))
Добрый день) Есть массив данных, нужно найти уникальные значения и их количество. Пример прикреплен. Не селен в Excel, если решение будет без макросов, буду очень благодарен. Заранее спасибо)) 122334boss
Ответить
Сообщение Добрый день) Есть массив данных, нужно найти уникальные значения и их количество. Пример прикреплен. Не селен в Excel, если решение будет без макросов, буду очень благодарен. Заранее спасибо)) Автор - 122334boss Дата добавления - 10.04.2017 в 12:47
skais675
Дата: Понедельник, 10.04.2017, 14:12 |
Сообщение № 2
Группа: Заблокированные
Ранг: Форумчанин
Сообщений: 138
Репутация:
3
±
Замечаний:
100% ±
Excel 2010
Для начала решение с макросомТут
Vlad skype: skais675 email: skais675@mail.ru
Ответить
Сообщение Для начала решение с макросомТут Автор - skais675 Дата добавления - 10.04.2017 в 14:12
122334boss
Дата: Понедельник, 10.04.2017, 14:50 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
skais675, спасибо, но на сколько я смог разобраться, выборка делается только по одному столбцу, а у меня их много.
skais675, спасибо, но на сколько я смог разобраться, выборка делается только по одному столбцу, а у меня их много. 122334boss
Ответить
Сообщение skais675, спасибо, но на сколько я смог разобраться, выборка делается только по одному столбцу, а у меня их много. Автор - 122334boss Дата добавления - 10.04.2017 в 14:50
122334boss
Дата: Вторник, 11.04.2017, 09:13 |
Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Вариантов нет? Нужно руками все делать?
Ответить
Сообщение Вариантов нет? Нужно руками все делать? Автор - 122334boss Дата добавления - 11.04.2017 в 09:13
sboy
Дата: Вторник, 11.04.2017, 11:19 |
Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация:
724
±
Замечаний:
0% ±
Excel 2010
Добрый день. Руки всегда нужны, например нажать на кнопку [vba]Код
Sub unik_() For c = 1 To 4 ir = Cells(Rows.Count, 9).End(xlUp).Row If ir = 1 Then ir = 3 Range(Cells(4, c), Cells(7, c)).Copy Range(Cells(ir + 1, 9), Cells(ir + 5, 9)) Next c Range(Cells(4, 9), Cells(ir + 5, 9)).RemoveDuplicates Columns:=1 ir = Cells(Rows.Count, 9).End(xlUp).Row Range(Cells(4, 10), Cells(ir, 10)).FormulaR1C1 = "=COUNTIF(R4C1:R" & ir & "C4,RC[-1])" End Sub
[/vba]
Добрый день. Руки всегда нужны, например нажать на кнопку [vba]Код
Sub unik_() For c = 1 To 4 ir = Cells(Rows.Count, 9).End(xlUp).Row If ir = 1 Then ir = 3 Range(Cells(4, c), Cells(7, c)).Copy Range(Cells(ir + 1, 9), Cells(ir + 5, 9)) Next c Range(Cells(4, 9), Cells(ir + 5, 9)).RemoveDuplicates Columns:=1 ir = Cells(Rows.Count, 9).End(xlUp).Row Range(Cells(4, 10), Cells(ir, 10)).FormulaR1C1 = "=COUNTIF(R4C1:R" & ir & "C4,RC[-1])" End Sub
[/vba] sboy
Яндекс: 410016850021169
Ответить
Сообщение Добрый день. Руки всегда нужны, например нажать на кнопку [vba]Код
Sub unik_() For c = 1 To 4 ir = Cells(Rows.Count, 9).End(xlUp).Row If ir = 1 Then ir = 3 Range(Cells(4, c), Cells(7, c)).Copy Range(Cells(ir + 1, 9), Cells(ir + 5, 9)) Next c Range(Cells(4, 9), Cells(ir + 5, 9)).RemoveDuplicates Columns:=1 ir = Cells(Rows.Count, 9).End(xlUp).Row Range(Cells(4, 10), Cells(ir, 10)).FormulaR1C1 = "=COUNTIF(R4C1:R" & ir & "C4,RC[-1])" End Sub
[/vba] Автор - sboy Дата добавления - 11.04.2017 в 11:19
122334boss
Дата: Вторник, 11.04.2017, 11:53 |
Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
sboy, спасибо работает) вот только я не селен в макросах, а размер массива гораздо больше примерно 20 на 1000, не могу понять как увеличить диапазон...
sboy, спасибо работает) вот только я не селен в макросах, а размер массива гораздо больше примерно 20 на 1000, не могу понять как увеличить диапазон... 122334boss
Ответить
Сообщение sboy, спасибо работает) вот только я не селен в макросах, а размер массива гораздо больше примерно 20 на 1000, не могу понять как увеличить диапазон... Автор - 122334boss Дата добавления - 11.04.2017 в 11:53
sboy
Дата: Вторник, 11.04.2017, 11:55 |
Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация:
724
±
Замечаний:
0% ±
Excel 2010
122334boss , Приложите пример данных, нужно для понимания шапки и подвала таблицы
122334boss , Приложите пример данных, нужно для понимания шапки и подвала таблицыsboy
Яндекс: 410016850021169
Ответить
Сообщение 122334boss , Приложите пример данных, нужно для понимания шапки и подвала таблицыАвтор - sboy Дата добавления - 11.04.2017 в 11:55
122334boss
Дата: Вторник, 11.04.2017, 12:07 |
Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
sboy, вот такой
К сообщению приложен файл:
123.xlsx
(82.8 Kb)
Ответить
Сообщение sboy, вот такой Автор - 122334boss Дата добавления - 11.04.2017 в 12:07
sboy
Дата: Вторник, 11.04.2017, 13:32 |
Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация:
724
±
Замечаний:
0% ±
Excel 2010
кнопка на листе2 [vba]Код
Sub unik_() Set sh1 = Sheets(1) Set sh2 = Sheets(2) With sh1 ilr = .Cells(Rows.Count, 1).End(xlUp).Row ilc = .Cells(1, Columns.Count).End(xlToLeft).Column For c = 1 To ilc ir = sh2.Cells(Rows.Count, 1).End(xlUp).Row If ir = 1 Then ir = 0 .Range(.Cells(1, c), .Cells(ilr, c)).Copy sh2.Range(Cells(ir + 1, 1), Cells(ir + ilr, 1)) Next c sh2.Range(Cells(1, 1), Cells(ir + 1 + ilr, 1)).RemoveDuplicates Columns:=1 ir = sh2.Cells(Rows.Count, 1).End(xlUp).Row sh2.Range(Cells(1, 2), Cells(ir, 2)).FormulaR1C1 = "=COUNTIF(Лист1!R1C1:R" & ilr & "C" & ilc & ",RC[-1])" End With End Sub
[/vba]
кнопка на листе2 [vba]Код
Sub unik_() Set sh1 = Sheets(1) Set sh2 = Sheets(2) With sh1 ilr = .Cells(Rows.Count, 1).End(xlUp).Row ilc = .Cells(1, Columns.Count).End(xlToLeft).Column For c = 1 To ilc ir = sh2.Cells(Rows.Count, 1).End(xlUp).Row If ir = 1 Then ir = 0 .Range(.Cells(1, c), .Cells(ilr, c)).Copy sh2.Range(Cells(ir + 1, 1), Cells(ir + ilr, 1)) Next c sh2.Range(Cells(1, 1), Cells(ir + 1 + ilr, 1)).RemoveDuplicates Columns:=1 ir = sh2.Cells(Rows.Count, 1).End(xlUp).Row sh2.Range(Cells(1, 2), Cells(ir, 2)).FormulaR1C1 = "=COUNTIF(Лист1!R1C1:R" & ilr & "C" & ilc & ",RC[-1])" End With End Sub
[/vba] sboy
К сообщению приложен файл:
123.xlsm
(91.7 Kb)
Яндекс: 410016850021169
Ответить
Сообщение кнопка на листе2 [vba]Код
Sub unik_() Set sh1 = Sheets(1) Set sh2 = Sheets(2) With sh1 ilr = .Cells(Rows.Count, 1).End(xlUp).Row ilc = .Cells(1, Columns.Count).End(xlToLeft).Column For c = 1 To ilc ir = sh2.Cells(Rows.Count, 1).End(xlUp).Row If ir = 1 Then ir = 0 .Range(.Cells(1, c), .Cells(ilr, c)).Copy sh2.Range(Cells(ir + 1, 1), Cells(ir + ilr, 1)) Next c sh2.Range(Cells(1, 1), Cells(ir + 1 + ilr, 1)).RemoveDuplicates Columns:=1 ir = sh2.Cells(Rows.Count, 1).End(xlUp).Row sh2.Range(Cells(1, 2), Cells(ir, 2)).FormulaR1C1 = "=COUNTIF(Лист1!R1C1:R" & ilr & "C" & ilc & ",RC[-1])" End With End Sub
[/vba] Автор - sboy Дата добавления - 11.04.2017 в 13:32
122334boss
Дата: Вторник, 11.04.2017, 14:01 |
Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
sboy, спасибо огромное))
Ответить
Сообщение sboy, спасибо огромное)) Автор - 122334boss Дата добавления - 11.04.2017 в 14:01
_Boroda_
Дата: Среда, 12.04.2017, 18:10 |
Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 16885
Репутация:
6599
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
если решение будет без макросов, буду очень благодарен
Вариант без макросов, как просилиКод
=ЕСЛИ(СЧЁТЗ(A$4:D$7)=СУММ(СЧЁТЕСЛИ(A$4:D$7;I$3:I3));"";ИНДЕКС(A$4:D$7;МИН(ЕСЛИ(СЧЁТЕСЛИ(A$4:D$7;A$4:D$7)*ЕНД(ПОИСКПОЗ(A$4:D$7;I$3:I3;));СТРОКА(A$4:D$7)-СТРОКА(A$4)+1));ОСТАТ(МИН(ЕСЛИ(СЧЁТЕСЛИ(A$4:D$7;A$4:D$7)*ЕНД(ПОИСКПОЗ(A$4:D$7;I$3:I3;));СТРОКА(A$4:D$7)+СТОЛБЕЦ(A$4:D$7)%));1)/1%+0,1))
если решение будет без макросов, буду очень благодарен
Вариант без макросов, как просилиКод
=ЕСЛИ(СЧЁТЗ(A$4:D$7)=СУММ(СЧЁТЕСЛИ(A$4:D$7;I$3:I3));"";ИНДЕКС(A$4:D$7;МИН(ЕСЛИ(СЧЁТЕСЛИ(A$4:D$7;A$4:D$7)*ЕНД(ПОИСКПОЗ(A$4:D$7;I$3:I3;));СТРОКА(A$4:D$7)-СТРОКА(A$4)+1));ОСТАТ(МИН(ЕСЛИ(СЧЁТЕСЛИ(A$4:D$7;A$4:D$7)*ЕНД(ПОИСКПОЗ(A$4:D$7;I$3:I3;));СТРОКА(A$4:D$7)+СТОЛБЕЦ(A$4:D$7)%));1)/1%+0,1))
_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение если решение будет без макросов, буду очень благодарен
Вариант без макросов, как просилиКод
=ЕСЛИ(СЧЁТЗ(A$4:D$7)=СУММ(СЧЁТЕСЛИ(A$4:D$7;I$3:I3));"";ИНДЕКС(A$4:D$7;МИН(ЕСЛИ(СЧЁТЕСЛИ(A$4:D$7;A$4:D$7)*ЕНД(ПОИСКПОЗ(A$4:D$7;I$3:I3;));СТРОКА(A$4:D$7)-СТРОКА(A$4)+1));ОСТАТ(МИН(ЕСЛИ(СЧЁТЕСЛИ(A$4:D$7;A$4:D$7)*ЕНД(ПОИСКПОЗ(A$4:D$7;I$3:I3;));СТРОКА(A$4:D$7)+СТОЛБЕЦ(A$4:D$7)%));1)/1%+0,1))
Автор - _Boroda_ Дата добавления - 12.04.2017 в 18:10
122334boss
Дата: Пятница, 14.04.2017, 11:43 |
Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
_Boroda_, Спасибо огромное))
Ответить
Сообщение _Boroda_, Спасибо огромное)) Автор - 122334boss Дата добавления - 14.04.2017 в 11:43