Управлять данными в Excel, чтобы упорядочить результаты по определенному столбцу

368
Ricardo C.B.

Я хочу, чтобы информация в некоторых столбцах (но не во всех) отображалась в строках, см. Пример ниже.

Это то, что у меня есть (к сожалению, это не позволяет лишние пробелы, поэтому все не выровнено, пожалуйста, попробуйте представить все выровненным):

Patient Visit 1 Visit 2 Visit 3 Visit 4(…)  1 22Dec 12Jan 03Feb  2 3Jan 03Feb 01Mar 3 10Dec 03Jan 23Jan  (…) 

(и т.д., длинная база данных с сотнями пациентов)

Вот как я хочу, чтобы это выглядело так:

Patient Visit type Date  1 Visit 1 22Dec 1 Visit 2 12Jan  1 Visit 3 03Feb  2 Visit 1 23Jan  2 Visit 2 (…)  (…) 

Это не связано с какими-либо расчетами, это просто манипулирование данными, в основном упорядочивание посещений на пациента, но я не уверен ни в какой функции, которая делает это, пробную таблицу, но, кажется, не делает это совсем так ... Есть предложения? Если нет формул, кнопок и т. Д., Может быть, вы можете предложить макрос?

Большое спасибо!

1
PowerPivot может помочь с этим PeterH 6 лет назад 0

3 ответа на вопрос

1
Gary's Student

С такими данными, как:

В H2 введите:

=ROUNDUP(ROWS($1:1)/6,0) 

и скопировать вниз. В ячейку I2 введите:

=INDEX($B$1:$G$1,MOD(ROWS($1:1)-1,6)+1) 

и скопировать вниз. В J2 введите:

=INDEX($B$2:$G$10,ROUNDUP(ROWS($1:1)/6,0),MOD(ROWS($1:1)-1,5)+1) 

и скопировать вниз:

НОТА:

6 в этих формулах соответствует числу посещений в исходной таблице. Отрегулируйте в соответствии с вашими потребностями.

0
user877479

Было непонятно, хотите ли вы непрерывного преобразования или просто измените данные один раз. Если вы просто хотите преобразовать свои данные один раз, вот предложение: давайте представим, что это ваши данные сейчас:

Поскольку у вас есть не более 4 посещений на пациента, постройте вручную строки для первого пациента, например:

Для столбца даты примените VLOOKUP, ища столбец согласно типу посещения:

Теперь создайте вручную строки для второго пациента, но теперь с помощью некоторых формул вы сможете нажать:

Для столбца даты просто нажмите вниз, что у вас есть от пациента 1:

Теперь выберите весь блок пациента 2 и нажмите вниз:

Даже когда нет даты, она будет работать

Подойдет ли вам это?

0
Rajesh S

Мой подход использует технику двустороннего поиска, как один из ответов выше.

См. Рисунки ниже, которые показывают данные образца в первой таблице, затем список пациентов, номер посещения и дату, все в нужном порядке, во второй таблице.

enter image description here

Вот формулы для получения:

Список пациентов: в камере A10,=INT((ROW(A1)-1)/5)+1

Список посещений: в ячейке B10,="Visit"&INT(MOD(ROW(A1)-1,5))+1

Список дат в ячейке C10,=INDEX($B$2:$F$8,MATCH(A10,A$2:A$8,0),MATCH(B10,$B$1:$F$1,0))

Перетащите все 3 формулы вниз, насколько это необходимо.

Я надеюсь, что это поможет вам.

Похожие вопросы