Дата  Запланированые курсы
04.08 Maya (базовый курс)
04.08 Средства растровой графики. Adobe Photoshop
04.08 Архитектурная визуализация с использованием модуля VRAY
04.08 Компьютерное проектирование в системе AutoCAD (базовый курс)
04.08 Рисование на компьютере при помощи планшета (базовый курс)
05.08 Рисование пастелью
11.08 Секреты эффективной работы в InDesign
11.08 Компьютерная верстка. Adobe InDesign
11.08 Трехмерное моделирование в архитектуре и дизайне интерьеров. 3ds Max
11.08 AutoCAD для интерьеров
11.08 Средства векторной графики. Adobe Illustrator
11.08 Пользователь ПК (Windows 7, MS Word 2010, Internet)
11.08 Работа в MS Excel 2010
18.08 Векторная графика и анимация в Интернет. Adobe Flash
18.08 DEV-P41. JavaScript и JQuery
18.08 Основы создания веб-сайтов. Adobe Dreamweaver
18.08 Компьютерное проектирование в системе AutoCAD (профессиональный курс)
18.08 Создание презентаций и подготовка выступлений (MS PowerPoint)
18.08 Профессиональная работа в MS Excel 2010
25.08 Adobe Photoshop для профессионалов
01.09 Maya (профессиональный курс)
01.09 DEV-P27. WordPress. Создание сайта
08.09 LINUX-ADM. Системное администрирование Linux
08.09 DEV- CSHARP. Основы программирования на C#
08.09 DEV-PYTHON. Прикладное программирование на языке Python
08.09 LINUX-ADM-CP. Модульная программа "Администратор Linux"
08.09 UNIX-ARCH. Архитектура UNIX (Linux/FreeBSD/Solaris)
08.09 LINUX-WEB-SERVER. Организация веб-сервера на платформе Linux
08.09 LINUX-DNS. Организация DNS серверов на платформе Linux
08.09 DEV-P10. Разработка Web-приложений с использованием PHP и MySQL
08.09 Поисковая оптимизация (SEO)
08.09 Архитектурное проектирование в Autodesk Revit Architecture
08.09 Основы SQL
09.09 DEV-С-CP. Комплексная программа "Разработчик прикладного программного обеспечения (Языки С и C++)"
09.09 DEV-C10. Процедурное программирование. Языки С/C++
10.09 Управление и анализ данных в MS Excel
13.09 Пользователь ПК (Windows, MS Word, Internet) группа выходного дня
15.09 MOC-20687A. Конфигурирование Windows 8
15.09 LINUX-DNS. Организация DNS серверов на платформе Linux
15.09 LINUX-WEB-SERVER. Организация веб-сервера на платформе Linux
15.09 UNIX-ARCH. Архитектура UNIX (Linux/FreeBSD/Solaris)
15.09 LINUX-ADM. Системное администрирование Linux
15.09 Комплексная программа "Сетевой администратор Linux"
15.09 DEV-PYTHON. Прикладное программирование на языке Python
15.09 DEV- CSHARP. Основы программирования на C#
15.09 CISCO-CCNA-MP+. Расширенная модульная программа «Подготовка к сертификации CCNA»
15.09 Модуль CISCO-TCP/IP: Применение TCP/IP при построении сетей
15.09 Основы PL/SQL
15.09 Управление и анализ данных в MS Excel
18.09 CISCO-CCNA-MP. Модульная программа «Подготовка к сертификации CCNA»
18.09 Модуль CISCO-HW: Основы работы с устройствами Cisco
19.09 Модуль CISCO-RT: Статическая и динамическая маршрутизация
22.09 LINUX-ADM-CP. Модульная программа "Администратор Linux"
22.09 UNIX-ARCH. Архитектура UNIX (Linux/FreeBSD/Solaris)
22.09 DEV- CSHARP. Основы программирования на C#
22.09 DEV-PYTHON. Прикладное программирование на языке Python
22.09 LINUX-DNS. Организация DNS серверов на платформе Linux
22.09 LINUX-WEB-SERVER. Организация веб-сервера на платформе Linux
22.09 LINUX-ADM. Системное администрирование Linux
22.09 DEV-P51. Введение в профессиональную разработку на Ruby on Rails
22.09 DEV-P32. Технологии верстки веб-интерфейсов
22.09 MOC-MCSA Win2012. Комплексная программа: Подготовка сертифицированного администратора Microsoft Windows Server 2012
22.09 MOC-20410C. Инсталляция и конфигурирование Windows Server 2012
22.09 Модуль CISCO-SWC/VLAN: Коммутация и виртуальные локальные сети
22.09 Разработка программных модулей на PL/SQL
23.09 Модуль CISCO-FW: Управление трафиком при помощи списков доступа
23.09 DEV-P52. Разработка мобильных приложений под Android
24.09 Модуль CISCO-NAT: Трансляция адресов (NAT/PAT)
25.09 Модуль CISCO-LANSVC: Централизованное управление сетью
26.09 Модуль CISCO-WAN/WIFI: Глобальные и беспроводные сети
29.09 MOC-20411C. Администрирование Windows Server 2012
29.09 DEV-P21. Профессиональное программирование на PHP 5. Работа с SQL-серверами
06.10 LINUX-ADM. Системное администрирование Linux
06.10 DEV- CSHARP. Основы программирования на C#
06.10 DEV-PYTHON. Прикладное программирование на языке Python
06.10 LINUX-ADM-CP. Модульная программа "Администратор Linux"
06.10 UNIX-ARCH. Архитектура UNIX (Linux/FreeBSD/Solaris)
06.10 LINUX-DNS. Организация DNS серверов на платформе Linux
06.10 LINUX-WEB-SERVER. Организация веб-сервера на платформе Linux
06.10 NET-DLINKSW. Технологии коммутации современных сетей Ethernet
10.10 DEV-C20. Объектно-ориентированное программирование. Базовый уровень. Язык С++
13.10 Подготовка к сертификации CCNP Route
13.10 DEV-J-CP. Комплексная программа "Разработчик прикладного программного обеспечения (Язык Java)"
13.10 DEV-J10. Программирование на платформе Java. Введение в язык Java
13.10 MOC-20412C. Настройка дополнительных сервисов в Windows Server 2012
13.10 Модуль CISCO-RT+: Внутренняя и внешняя маршрутизация
13.10 DEV-P33. Профессиональная верстка. HTML5 и CSS3
13.10 LINUX-LAN. Администрирование сетевых служб ЛВС в Linux
14.10 Модуль CISCO-OSPF+: Маршрутизация в опорной сети
16.10 Модуль CISCO-BGP+: Маршрутизация между автономными системами
20.10 LINUX-DNS. Организация DNS серверов на платформе Linux
20.10 LINUX-WEB-SERVER. Организация веб-сервера на платформе Linux
20.10 LINUX-ADM. Системное администрирование Linux
20.10 UNIX-ARCH. Архитектура UNIX (Linux/FreeBSD/Solaris)
20.10 DEV- CSHARP. Основы программирования на C#
20.10 DEV-PYTHON. Прикладное программирование на языке Python
20.10 MOC-20413A. Проектирование и реализация инфраструктуры Windows Server 2012
20.10 DEV-J20. Программирование на платформе Java. Стандартные пакеты
27.10 DEV-J30. Программирование на платформе Java. Разработка многоуровневых приложений
27.10 MOC-20414A. Реализация расширенных служб инфраструктуры Windows Server 2012
05.11 LINUX-ADM. Системное администрирование Linux
05.11 DEV- CSHARP. Основы программирования на C#
05.11 DEV-PYTHON. Прикладное программирование на языке Python
05.11 UNIX-ARCH. Архитектура UNIX (Linux/FreeBSD/Solaris)
05.11 LINUX-DNS. Организация DNS серверов на платформе Linux
05.11 LINUX-WEB-SERVER. Организация веб-сервера на платформе Linux
05.11 DEV-C21. Объектно-ориентированное программирование. Углубленное изучение. Язык С++
10.11 Введение в тестирование ПО
10.11 LINUX-DNS. Организация DNS серверов на платформе Linux
10.11 LINUX-WEB-SERVER. Организация веб-сервера на платформе Linux
10.11 DEV-PYTHON. Прикладное программирование на языке Python
10.11 DEV- CSHARP. Основы программирования на C#
17.11 LINUX-DNS. Организация DNS серверов на платформе Linux
17.11 LINUX-WEB-SERVER. Организация веб-сервера на платформе Linux
17.11 UNIX-ARCH. Архитектура UNIX (Linux/FreeBSD/Solaris)
17.11 LINUX-ADM. Системное администрирование Linux
17.11 DEV- CSHARP. Основы программирования на C#
17.11 DEV-PYTHON. Прикладное программирование на языке Python
17.11 QA-OPT. Оптимизация и автоматизация тестирования программного обеспечения
Санкт-Петербургский государственный политехнический университет

Факультет переподготовки специалистов
Открыт набор на весенний семестр в Академию информатики для школьников Открыт набор на весенний семестр на программы второго высшего образования
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Excel:Список уникальных значений (формулы массива)
Geschtalt
#1 Оставлено : 24 августа 2006 г. 14:37:46(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 21.08.2006(UTC)
Сообщений: 32
Баллов: 96

Всем здравствуйте!
Очень часто встречаются вопросы, как получить список уникальных значений из заданного диапазона. Эта задача достаточно элегантно решается при помощи формулы массива (подтип формула, возвращающая несколько значений, то есть введенная в диапазон).

Более того решив эту задачу, можно легко трансформировать эту формулу для получения только списка только текстовых значений, числовых значений, удовлетворяющих каким-либо критериям и т.п.

Еще один плюс - последовательно пройдя все этапы создания этой мегаформулы массива Вы по ходу изучите массу других интересных и весьма полезных формул и возможностей Excel.

Сколько бы времение это ни займет, советую пройти путь до конца[:)]!

Примечание, для ввода формулы массива во вложенном файле используется диапазон строк с третьей по сотую.

P.S.Файл вставить в сообщение не могу.[:-ouch]. Ну и что тут можно поделать?

Реклама
Alexander.Schukin
#2 Оставлено : 24 августа 2006 г. 17:27:27(UTC)
Alexander.Schukin

Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 08.03.2011(UTC)
Сообщений: 1,493
Баллов: 4,472
Мужчина
Откуда: Russia Санкт-Петербург

Сказал «Спасибо»: 1 раз
Поблагодарили: 5 раз в 5 постах
<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"><i>Originally posted by Geschtalt</i>
<br />Всем здравствуйте!
Очень часто встречаются вопросы, как получить список уникальных значений из заданного диапазона. Эта задача достаточно элегантно решается при помощи формулы массива (подтип формула, возвращающая несколько значений, то есть введенная в диапазон).
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
Добрый день уважаемый Geschtalt!
Здорово, что затронули эту действительно важную тему. Этот вопрос действительно периодически возникает на разных форумах, в том числе обсуждался и на нашем.

Только сразу хочу предостеречь. Это задача имеет много разновидностей (в зависимости от конечной цели). Ну например, нужно получить только список уникальных элементов (например, названий товаров) или все записи, которые им соотвествуют.
Или, какой элемент списка из дублирующихся оставить на экране: первый, последний или какой еще?
Или, нужно сделать такой отбор (уникальные записи) прямо в самой таблице, или получить его в другом месте.
Возможно для Вас эти вопросы очевидны, но их нужно пояснять для читателей, чтобы создавалась ясность, какую задачу мы решаем.

<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"><i>Originally posted by Geschtalt</i>
<br />
Сколько бы времение это ни займет, советую пройти путь до конца[:)]!
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
Ремарка.
Я все-таки придерживаюсь той мысли, что лучше выбирать наиболее простое и эффективное решение. Т.е. если есть два способа решения задачи, которые дают одинаковый результат, то я выберу тот, который проще. Даже если второй будет красивее, скажем так для экспертов Excel. :)
Варианты более вычурные, сложные интересны часто с теоретической точки зрения, просто чтобы осознать все возможности программы.
НО! Этой тирадой не хочу ничего сказать про Ваш способ. Т.к. нужно всегда уточнять для какой задачи он применяется. ;)

<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"><i>Originally posted by Geschtalt</i>
<br />
P.S.Файл вставить в сообщение не могу.[:-ouch]. Ну и что тут можно поделать?
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
Очень просто. Либо выложить на какой-нибудь бесплатный хостинг, типа этого:
allyoucanupload.webshots.com/
Либо переслать мне по почте.
Geschtalt
#3 Оставлено : 24 августа 2006 г. 19:31:20(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 21.08.2006(UTC)
Сообщений: 32
Баллов: 96

Александр, спасибо за подсказку.
Файл разместил вот здесь : webfile.ru/1072788

По поводу конечной цели задачи - это автоматизация получения массива уникальных значений из ЛЮБОГО списка-вектора (столбца).
То есть, если ввести эту формулу массива на весь столбец и задать динамическое имя исходному диапазону данных, то формула при любом изменении диапазона будет группировать новый список...

Ну и жду начала активной деятельности Вашего факультета - хочется пообщаться с кем-нибудь, кто тоже изучает возможности формул массивов.[:)] Возможно, получу какой-то совет по своей проблеме - пока ничего найти не смог...

Сейчас приступаю к изучению VBA, надеюсь, тоже найду здесь активных "форумщиков". Сам всегда готов поделиться тем, что знаю в Excel!
Плюшкин
#4 Оставлено : 25 августа 2006 г. 21:50:27(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 02.05.2006(UTC)
Сообщений: 78
Баллов: 234
Откуда: Russia Moscow

Geschtalt, добрый день.
Попробуйте написать письмо нашему другу Джону:
walkenbach@gmail.com
Правда, он пишет, что временно консультации не даёт.

Спасибо, что продвигаете эту туманную тему - форумулы массивов. Вот я мню себя ценителем Экселя, а в формулы массивов пока не погружался глубоко. Теперь намерен это сделать.

_____________________________________________________________
Суть ACCESS: Чем круче формы, тем выше запросы...
_____________________________________________________________
Суть ACCESS: Чем круче формы, тем выше запросы...
myanushev
#5 Оставлено : 17 октября 2006 г. 16:51:01(UTC)
Ранг: Новичок

Группы: Зарегистрированные пользователи
Зарегистрирован: 17.10.2006(UTC)
Сообщений: 2
Баллов: 6

Уважаемые Александр,
Уважемый Geschtalt,
добрый день.

Не нашел выложенных файлов, а вопрос с получением списка уникальных значений из множества решить не могу. Был бы очень благодарен за Вашу помощь.
<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"><i>Originally posted by Geschtalt</i>
<br />Александр, спасибо за подсказку.
Файл разместил вот здесь : webfile.ru/1072788

По поводу конечной цели задачи - это автоматизация получения массива уникальных значений из ЛЮБОГО списка-вектора (столбца).
То есть, если ввести эту формулу массива на весь столбец и задать динамическое имя исходному диапазону данных, то формула при любом изменении диапазона будет группировать новый список...

Ну и жду начала активной деятельности Вашего факультета - хочется пообщаться с кем-нибудь, кто тоже изучает возможности формул массивов.[:)] Возможно, получу какой-то совет по своей проблеме - пока ничего найти не смог...

Сейчас приступаю к изучению VBA, надеюсь, тоже найду здесь активных "форумщиков". Сам всегда готов поделиться тем, что знаю в Excel!
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
Alexander.Schukin
#6 Оставлено : 17 октября 2006 г. 21:57:28(UTC)
Alexander.Schukin

Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 08.03.2011(UTC)
Сообщений: 1,493
Баллов: 4,472
Мужчина
Откуда: Russia Санкт-Петербург

Сказал «Спасибо»: 1 раз
Поблагодарили: 5 раз в 5 постах
Да, файл не скачивается.

Если пробовать стандартные средства, то список уникальных значений можно получить с помощью:
1. Сводные таблицы.
2. Расширенный фильтр
3. Запрос (Данные \ Импорт внешних данных \ Создать запрос)
4. Функциями-массива, правда здесь ничего не могу сказать, т.к. пока не экспериментировал.

К нестандартным способам можно отнести применение макросов.

У всех этих вариантов есть свои плюсы и минусы, и выбор нужно делать учитывая специфику задачи.
Geschtalt
#7 Оставлено : 18 октября 2006 г. 21:34:40(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 21.08.2006(UTC)
Сообщений: 32
Баллов: 96

Файл не скачивается, потому что срок был установлен макисмальный на этом сайте - 2 недели.
С myanushev списались по электронке , при необходимости (наличии просьб от желающих) могу выложить повторно либо также выслать непосредственно по запросу на мой мейл...
Alexander.Schukin
#8 Оставлено : 18 октября 2006 г. 22:02:08(UTC)
Alexander.Schukin

Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 08.03.2011(UTC)
Сообщений: 1,493
Баллов: 4,472
Мужчина
Откуда: Russia Санкт-Петербург

Сказал «Спасибо»: 1 раз
Поблагодарили: 5 раз в 5 постах
Geschtalt, давайте и мне тоже. Интересно посмотреть.
Адрес в профиле.


Форум хорошо, а форум+курсы лучше! :)

Alexander.Schukin
#9 Оставлено : 20 октября 2006 г. 15:05:32(UTC)
Alexander.Schukin

Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 08.03.2011(UTC)
Сообщений: 1,493
Баллов: 4,472
Мужчина
Откуда: Russia Санкт-Петербург

Сказал «Спасибо»: 1 раз
Поблагодарили: 5 раз в 5 постах
myanushev
#10 Оставлено : 22 октября 2006 г. 2:14:16(UTC)
Ранг: Новичок

Группы: Зарегистрированные пользователи
Зарегистрирован: 17.10.2006(UTC)
Сообщений: 2
Баллов: 6

Geschtalt,
спасибо большое. Решение может быть большое, но мне 2-х часов (?) не хватило, чтобы дойти своим умом (думал я сутки ко времени Вашего ответа). :)
Задачу свою решил - получилось. Единственный момент, который обнаружил - это "ошибка столба из одного элемента".
Спасибо большое еще раз.

<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"><i>Originally posted by Geschtalt</i>
<br />Файл не скачивается, потому что срок был установлен макисмальный на этом сайте - 2 недели.
С myanushev списались по электронке , при необходимости (наличии просьб от желающих) могу выложить повторно либо также выслать непосредственно по запросу на мой мейл...
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
kir81
#11 Оставлено : 25 октября 2006 г. 13:09:18(UTC)
Ранг: Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 21.08.2006(UTC)
Сообщений: 29
Баллов: 87

Очень полезная штука!!! Спасибо!
kir81
#12 Оставлено : 25 октября 2006 г. 16:41:59(UTC)
Ранг: Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 21.08.2006(UTC)
Сообщений: 29
Баллов: 87

Только все же есть существенный недостаток данного метода-он неприемлим для работы с большими массивами информации, потому что потре-ет много системных ресурсов... Машина зависает прилично!
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.