Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2011, 11:06   #1
Алексей001
 
Регистрация: 03.06.2011
Сообщений: 3
По умолчанию Распределить данные по критерию.

Добрый день! Подскажите пожалуйста новичку, как можно добиться от Excel, чтобы при добавлении новых строк в общую таблицу он автоматически добавлял аналогичные строки с информацией на соседние листы, сортируя их по критерию. Причём, очень желательно, чтобы строки с информацией в отсортированных таблицах не перемежались пустыми. Есть пример. Заранее спасибо! Excel 2007.
Вложения
Тип файла: zip Пример.zip (5.0 Кб, 14 просмотров)
Алексей001 вне форума Ответить с цитированием
Старый 06.06.2011, 10:21   #2
Алексей001
 
Регистрация: 03.06.2011
Сообщений: 3
По умолчанию

Неужели совсем нет вариантов?
Алексей001 вне форума Ответить с цитированием
Старый 06.06.2011, 10:46   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Вариант есть такой - по событию перехода/активации листа с критерием брать данные с общего листа и отбирать нужные строки.
Или по событию изменения общего листа сортировать всю информацию и раскидывать по листам критериев.
Оба варианта не очень - если данных много, то будет каждый раз притормаживать.
Может лучше не разбивать по критериям на каждый чих, а извлекать данные из общего листа по требованию, только когда это реально нужно?
Вообще задание как создано для Access с его запросами (queries)...
А как источник данных для Acces можно и лист Экселя подключить.
Вот, подключил, текст запроса для А:

Код:
SELECT Общий.Критерий, Общий.[Информация 1], Общий.[Информация 2], Общий.[Информация 3], Общий.[Информация 4], Общий.[Информация 5], Общий.[Информация 6], Общий.[Информация 7], Общий.[Информация 8], Общий.[Информация 9], Общий.[Информация 10]
FROM Общий
WHERE (((Общий.Критерий)="А"));
Изображения
Тип файла: jpg Query.jpg (167.1 Кб, 128 просмотров)
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 06.06.2011 в 10:59.
Hugo121 вне форума Ответить с цитированием
Старый 06.06.2011, 11:06   #4
Алексей001
 
Регистрация: 03.06.2011
Сообщений: 3
По умолчанию

А как практически выполнить второй вариант? К сожалению, Access не подходит.
Алексей001 вне форума Ответить с цитированием
Старый 06.06.2011, 11:39   #5
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Вариант формулами:
Код:
=ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(Таблица3[Критерий]="А";СТРОКА(Таблица3[Критерий])-3);B5);"")
- формула массива для доп. столбца
Код:
=ЕСЛИОШИБКА(ИНДЕКС(Таблица3;[@Строка];2);"")
- просто формула для всей таблицы.
Для примера заполнил таблицу Критерий А.
Вложения
Тип файла: zip ПримерТабл.zip (14.9 Кб, 11 просмотров)
nilem вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распределить данные из одного листа. Zhiltsov Microsoft Office Excel 16 22.04.2018 00:23
Нужно распределить 3 слова slawok HTML и CSS 8 29.06.2010 01:16
Распределить покрытие заказа AleksandrH Microsoft Office Excel 0 15.02.2010 15:49
Скопировать данные в новую книгу, согласно критерию Iskin Microsoft Office Excel 12 01.12.2008 15:13
Помогите плз. Необходимо взять данные из файлов по критерию. Rom1k06 Microsoft Office Excel 5 30.07.2008 12:57