Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
29.03.2024, 13:34:32

Войти
На форуме добавлена возможность подписки на RSS-ленты любого раздела форума. Подписаться можно, нажав на иконку RSS , расположенную левее наименования раздела.
33 233 Сообщений в 5 454 Тем от 6 750 Пользователей
Последний пользователь: Alex1210
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по Excel и VBA
| | |-+  Объединение строк по 5 штук подряд в одну
Страниц: [1]   Вниз
Печать
Автор Тема: Объединение строк по 5 штук подряд в одну  (Прочитано 5654 раз)
0 Пользователей и 1 Гость смотрят эту тему.
st-del
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 4


Просмотр профиля E-mail
« : 19.12.2018, 02:48:09 »

Здравствуйте!
Я прошу помощи с объединением строк в таблице. Возможно, эта задача имеет простое решение, но, к сожалению, я не очень продвинутый юзер.

Таблица содержит данные по медицинскому исследованию (поэтому в приложенном файле примера я постаралась анонимизировать названия граф, исходными сохранила только идентификаторы). Исследование включало 5 групп параметров, они представлены в столбцах. Нам отдали достаточно кривую выдачу - каждому обследованному пациенту был присвоен уникальный ID, и  каждой группе параметров почему-то выделили отдельную строчку. То есть вместо одной строки
  Уникальный ID - параметр 1-1- параметр 1-2... - параметр -2-1- параметр 2-2... параметр 3-1...
Нам выдали нечто такое:
 Уникальный ID  - параметр 1-1 - параметр 1-2 ... пустота
  Тот же ID           пустота                                     - параметр 2-1 - параметр 2-2... пустота
  Тот же ID          пустота                                     пустота                                      параметр 3-1...
   ....

Такой массив неудобен для статистической обработки, поэтому хотелось бы собрать строки обратно - идентификатор и все параметры подряд.

Если бы речь шла о небольшом количестве строк, я бы сделала эту работу вручную, но здесь 10 тысяч пациентов и 50 тысяч строк таблицы, то есть придется как-то автоматизировать.

В приложенном файле два листа. На первом -  кусочек базы данных (6 пациентов), который мы имеем -  в нем 30 строк. На втором - тот вид, который я бы хотела получить - в нем 6 строк.
Я буду очень благодарна, если вы подскажете, как это сделать.
Записан
boa
Старожил
****

Репутация: +22/-0
Офлайн Офлайн

Сообщений: 252


Доброта спасет мир...


Просмотр профиля WWW
« Ответ #1 : 19.12.2018, 09:32:14 »

Здравствуйте,
Код: (vb)
=SUM(INDEX('Исходные данные'!C1:C69;MATCH(RC1;'Исходные данные'!C1;0);COLUMN()):
     INDEX('Исходные данные'!C1:C69;MATCH(RC1;'Исходные данные'!C1;0)+COUNTIF('Исходные данные'!C1;RC1)-1;COLUMN()))

« Последнее редактирование: 19.12.2018, 09:42:56 от boa » Записан

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

Perfect2You
Постоялец
***

Репутация: +12/-0
Офлайн Офлайн

Сообщений: 106


Просмотр профиля E-mail
« Ответ #2 : 19.12.2018, 09:43:03 »

Первые предлагаемые шаги сделал в образце на отдельных листах, последние - описанием на последнем листе.
Если структура реального файла совпадает с образцом, формулы первой строки можно скопировать.
« Последнее редактирование: 19.12.2018, 09:45:41 от Perfect2You » Записан
st-del
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 4


Просмотр профиля E-mail
« Ответ #3 : 19.12.2018, 10:27:01 »

boa, а куда мне это вставить, чтобы получилось так же?
Perfect2You, а Вы можете все то же, только для блондинки объяснить. Я вижу, что работает, но не понимаю, что куда ставить.
Записан
sboy
Постоялец
***

Репутация: +27/-0
Офлайн Офлайн

Сообщений: 207


Просмотр профиля E-mail
« Ответ #4 : 19.12.2018, 10:32:05 »

Кросс
и еще один
и еще
« Последнее редактирование: 19.12.2018, 10:36:17 от sboy » Записан
boa
Старожил
****

Репутация: +22/-0
Офлайн Офлайн

Сообщений: 252


Доброта спасет мир...


Просмотр профиля WWW
« Ответ #5 : 19.12.2018, 10:35:50 »

boa, а куда мне это вставить, чтобы получилось так же?
Скачайте файл-пример, там все уже вставлено
Записан

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

st-del
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 4


Просмотр профиля E-mail
« Ответ #6 : 19.12.2018, 10:54:27 »

boa, скачала файл, вставила на первый лист свою таблицу на 50 тысяч строк. Переключилась на второй, нажала обновить. Ничего не произошло.
Я что-то сделала неправильно?

Да, я не знала, что нужно давать ссылки на кроссы. Но Вы указали все. Их нужно каким-то образом поместить в мое первое сообщение?
« Последнее редактирование: 19.12.2018, 10:59:37 от st-del » Записан
Perfect2You
Постоялец
***

Репутация: +12/-0
Офлайн Офлайн

Сообщений: 106


Просмотр профиля E-mail
« Ответ #7 : 19.12.2018, 11:01:37 »

С блондинкой лучше рядом стоять.  Строит глазки

Обратная связь нужна, чтобы на каждом шаге убеждаться, что куда-то в сторону не нырнули. Это по телефону лучше.
Записан
Perfect2You
Постоялец
***

Репутация: +12/-0
Офлайн Офлайн

Сообщений: 106


Просмотр профиля E-mail
« Ответ #8 : 19.12.2018, 11:23:03 »

Еще проще.
Выделить диапазон данных параметра 2 с первой строки ЕГО данных и перетащить на 1 строку вверх.
Выделить диапазон данных параметра 3 с первой строки ЕГО данных и перетащить на 2 строки вверх.
Выделить диапазон данных параметра 4 с первой строки ЕГО данных и перетащить на 3 строки вверх.
Выделить диапазон данных параметра 5 с первой строки ЕГО данных и перетащить на 4 строки вверх.
Потом отфильтровать ненужные строки, выделить только видимое и удалить.

Быстро выделить большой диапазон можно так: выделить верхнюю левую ячейку. Полосами прокрутки спуститься к нижней правой, нажать "Shift" и, не отпуская, нажать левую кнопку мыши на нижней правой ячейке.
Записан
st-del
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 4


Просмотр профиля E-mail
« Ответ #9 : 19.12.2018, 11:23:53 »

Perfect2You, сработало!!! Сработало, черт возьми!!! Все получилось по шагам с фильтрами.
Вы меня спасли (и моего научрука, видимо, тоже). Теперь эта база подходит для статистической обработки доступными мне методами.

Огромное, огромное спасибо!

И огромное спасибо всем, кто согласился помочь за ваше понимание.
Записан
boa
Старожил
****

Репутация: +22/-0
Офлайн Офлайн

Сообщений: 252


Доброта спасет мир...


Просмотр профиля WWW
« Ответ #10 : 19.12.2018, 14:36:06 »

Переключилась на второй, нажала обновить. Ничего не произошло.
наверное, упаследовали ручной пересчет от меня
включите "Автоматический" на вкладке "Формулы" или нажмите F9
Их нужно каким-то образом поместить в мое первое сообщение?
уже нет,
Просто поймите, что одновременно множество людей решали вашу задачу, что не целесообразно. В принципе все решения типичны.
Записан

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

Юрий М
Глобальный модератор
Ветеран
*****

Репутация: +112/-0
Офлайн Офлайн

Сообщений: 2 077



Просмотр профиля E-mail
« Ответ #11 : 19.12.2018, 22:49:28 »

Да, я не знала, что нужно давать ссылки на кроссы
Правила нужно читать.
Записан
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru