2016-11-20 7 views
0

Мой вопрос неловко прост, но коллега спросил меня, и я почти никогда не использую Excel. В Mathematica я могу решить это за считанные секунды. Допустим, очень простое устройство, состоящее из ID пациента, год измерения и значение:Соберите/выберите строки для расчета

enter image description here

Вопрос 1: Как создать новую таблицу, состоящую только из первых измерений? То есть для ID 1 строка 2014, для ID 2 строка 2015 года и для ID 3 строка 2016.

Вопрос 2: Как я могу создать новую таблицу, которая имеет только одну строку для каждого ID и где все найденные Values используются с функцией как MEDIAN()? То есть для ID 1 медиана 12 и 23 для ID 2 медиана 32 и 16 и для ID 3 всего 4.

+0

Вы используете Excel или LibreOffice Calc? –

+0

Ну, ** Я ** работаю с LibreOffice (если мне нужно), но мои коллеги обычно работают на Windoze с реальным Excel. Я думал, что использую оба тега, потому что могу как-то перевести решение для каждой системы. – halirutan

ответ

1

Предполагая, что ваша таблица упорядочена по дате (что находится на картинке), тогда первый вопрос можно решить с помощью VLOOKUP

=VLOOKUP("1",A1:C6,3,0) 

Заменить "1", который в зависимости от того ячейка содержит идентификатор 1 в вашей новой таблице.

На вопрос 2 вы можете использовать следующую формулу, снова заменяя =1 с какой ячейки содержит идентификатор 1 в новой таблице

{=MEDIAN(IF(A1:A6=1,C1:C6,""))} 

Заметим, что это формула массива, вы не вводите фигурных кронштейны {} непосредственно, но просто нажмите CTRL +SHIFT + ENTER, а не только ENTER при вводе формулы

Это работает, создавая массив, подобный этому {12,23,"","",""} и принимая медиану этих чисел. MEDIAN игнорирует строки, поэтому дает вам медиану 12 и 23, как требуется (пример для ID 1)

+1

Я думаю, что есть дополнительный аргумент в VLOOKUP, то есть должен быть = VLOOKUP («1», A1: C6,2,0) или = VLOOKUP («1», A1: C6,3,0) –

+0

Обновлено, спасибо - просто опечатка – CallumDA