2012-01-28 2 views
1

Я не использую excel часто, и я действительно не нашел хорошего решения моей проблемы. (что, вероятно, очень просто).Excel, Указание содержимого ячейки в результате других ячеек

Я хотел бы иметь ячейку с функцией в моей таблице, которая показывает другое значение значения ячейки, которое зависит от еще одного значения ячейки.

Такие, как:

enter image description here

Best Deal заголовок просто использует формулу

=MAX(D3,D1000) 

Но в Best Deal Я хотел бы, чтобы отобразить имя Test1, а не числовое значение ,

Другое дело, что было бы хорошо знать, есть ли способ узнать максимальную строку с данными в ней. Так что вместо =MAX(D3,D1000) что-то вроде =MAX(D3,Max(RowCount_InD))

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

Я знаю, что это возможно, но у меня проблемы. Надеюсь, я могу помочь.

Спасибо!

ответ

4

Самый простой способ сделать это - использовать комбинацию Index и Match. Match найдет позицию максимального значения, а затем Index будет выглядеть в столбце A и возвращать данные в том же положении. Итак, ваша формула будет:

=INDEX(A$3:A$1000,MATCH(MAX(D$3:D$1000),D$3:D$1000,0)) 

Положите эту формулу в F3. Не требуется скрытых столбцов.

Извините, я пропустил часть о расширяющемся диапазоне. Вы можете сделать это, используя Count или CountA вместе с Offset. Новая формула будет:

=INDEX(A3:OFFSET(A3,COUNTA(A:A)-1,0),MATCH(MAX(D3:OFFSET(D3,COUNT(D:D)-1,0)),D3:OFFSET(D3,COUNT(D:D)-1,0),0)) 

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

+0

Это прекрасный ответ. помогли мне много. Благодаря!! – Dave

+0

Просто попробовал добавить смещение. Швы работать. Благодаря! – Dave

+0

@ Дьяриш, добро пожаловать. Спасибо за согласие. –

3

Существует только один «простой» способ, я могу думать об этом, но для этого нужны скрытые столбцы (извините).

множество E1 = A1 и заполнить вниз весь путь (в основном вы делаете копию колонке А в колонке Е, но вы используете формулу, так что всегда будет такой же)

Тогда под «Лучшая сделка '- поместите эту формулу:

=VLOOKUP(MAX(D3,D1000),$D:$E,2,FALSE) 

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

+0

О, это будет означать, что всегда выбирается FIRST max. –

+0

Пойдите с ответом @Tim Mayes !!! Это превосходно! –

+0

спасибо за upvote! –

1

«Другое дело, что было бы хорошо знать, есть ли способ узнать максимальную строку с данными в ней. Поэтому вместо = MAX (D3, D1000) что-то вроде = MAX (D3, Max (RowCount_InD))) "

Это называется динамическим именованным диапазоном.Создать имя для данных соотношения и установить формулу для диапазона имя быть таким:

=OFFSET($D$3, 0, 0, COUNTA($D$3:$D$1048576), 1) 

Больше информации здесь: http://www.ozgrid.com/Excel/DynamicRanges.htm

Тогда, предполагая, что вы называете это именованный диапазон ratio_data, ваша может функционировать следует ссылаться на = MAX (ratio_data) в сочетании с индексом-соответствием, как это было предложено @Tim Mayes. При добавлении дополнительных данных диапазон будет автоматически расширяться.

=INDEX(A$3:A$1000,MATCH(MAX(ratio_data),ratio_data,0)) 

В идеале вы можете заменить A3: A1000 динамическим именованным диапазоном.

+0

Еще один действительно хороший ответ. Благодаря! Определенно +1. Хотелось бы отметить два ответа правильно. благодаря – Dave

Смежные вопросы