#excel #excel-formula
#преуспеть #excel-формула
Вопрос:
У меня есть счета на продажу хлеба, джема и так далее. как этот стол.
------- -------- -------
| Item | Date | Price |
------- -------- -------
| Bread | 1-Dec | 5 |
------- -------- -------
| Jam | 1-Dec | 5 |
------- -------- -------
| Bread | 8-Dec | 6 |
------- -------- -------
| Jam | 8-Dec | 4 |
------- -------- -------
| Bread | 15-Dec | 4 |
------- -------- -------
| Jam | 15-Dec | 7 |
------- -------- -------
Мне нужна дата наивысшей цены для каждого товара, например
------- -------- ---------------
| Item | Date | Highest Price |
------- -------- ---------------
| Bread | 8-Dec | 6 |
------- -------- ---------------
| Jam | 15-Dec | 7 |
------- -------- ---------------
Это похоже на поиск максимальных значений в зависимости от значений поиска. Это очень похоже на Group By и Max в SQL. Как мне это сделать в Excel? Я пробовал сопоставлять индексы, а также гуглить. Ничто не помогает. Пожалуйста, помогите мне.
Комментарии:
1. Вы можете взглянуть на сводную таблицу. Это послужит вашей цели.
2. Какую версию Excel вы используете?
Ответ №1:
Обычно это делается с помощью сводной таблицы:
- Выберите свои данные.
- Вставьте сводную таблицу.
- В вашем случае используйте «Элемент» и «Дата» в качестве строк.
- В вашем случае используйте «Цену» в качестве значения.
- Затем нажмите «Цена» и в настройках поля выберите «Max».
- Затем в самой сводной таблице справа на любую дату нажмите «Фильтр»> «Десятка лучших» и сделайте этот top 1 на основе максимальной цены.
Есть много способов сделать это с помощью формул, но если у вас есть Excel O365, это можно сделать с помощью одной единственной формулы, например:
Формула в E2
:
=TRANSPOSE(CHOOSE({1,2,3},TRANSPOSE(UNIQUE(A2:A7)),TRANSPOSE(MINIFS(B2:B7,A2:A7,UNIQUE(A2:A7),C2:C7,MAXIFS(C2:C7,A2:A7,UNIQUE(A2:A7)))),TRANSPOSE(MAXIFS(C2:C7,A2:A7,UNIQUE(A2:A7)))))
Или:
=FILTER(A2:C7,ISNUMBER(MATCH(A2:A7,UNIQUE(A2:A7),0))*LET(X,MAXIFS(C2:C7,A2:A7,UNIQUE(A2:A7)),ISNUMBER(MATCH(C2:C7,MAXIFS(C2:C7,A2:A7,UNIQUE(A2:A7))))*ISNUMBER(MATCH(B2:B7,MINIFS(B2:B7,A2:A7,UNIQUE(A2:A7),C2:C7,X),0))))
Комментарии:
1. Спасибо. Теперь проблема с почтой почти решена. Есть ли какой-либо способ отобразить в сводной таблице порядок товара, максимальную цену и дату?
2. @PhyoMinYu, я не понимаю. Если у вас есть другой вопрос, не стесняйтесь открыть его на SO и объяснить свою проблему.
3. Мой плохой. Вопрос уже решен. Но мне нужно отобразить столбец значений перед столбцами строк в сводке, например, товар, максимальная цена, дата. На самом деле это еще одна проблема. Извините.