Excel-сортировка по формуле при наличии повторяющихся значений

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

Я сортирую динамические данные по формуле, но он терпит неудачу, когда данные сортировки одинаковы. Например:

A B
Marham 240
Sigonella 400
Toulon 400
Ghedi 150
Lajes 2000
Nordholz 400

сортировка по столбцу B и возврат значений столбца A, результат должен быть:

Lajes 2000
Sigonella 400
Toulon 400
Nordholz 400
Marham 240
Ghedi 150

Примечание: меня не волнует порядок повторяющихся значений между собой ("400" s).

С помощью этой формулы:

{=INDEX($A:$A, MATCH(SMALL(COUNTIF($B:$B, "<"&$B:$B), ROW(1:1)), COUNTIF($B:$B, "<"&$B:$B), 0))}

результаты:

Lajes 2000
Sigonella 400
Sigonella 400
Sigonella 400
Marham 240
Ghedi 150

на MATCH растерялась меня. Как мне с этим справиться?

28
задан root
07.11.2022 22:21 Количество просмотров материала 3301
Распечатать страницу

4 ответа

вот что я придумал... Это не совсем то, что я искал...но это сработало.

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

{=INDEX($B:$B, MATCH(SMALL(COUNTIF($B:$B, "<"&$B:$B), ROW(1:1)), COUNTIF($B:$B, "<"&$B:$B), 0))}

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

{=index(A:A,small(if(b:b=b1,row(b:b)),countif(b:b,b1)))}

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

0
отвечен mechengr02 2022-11-09 06:09

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

  A          B          C
Marham      240      240,0001
Sigonella   400      400,0002
Toulon      400      400,0003
Ghedi       150      150,0004
Lajes      2000     2000,0005
Nordholz    400      400,0006

тогда вы просто Сортировать по значениям в столбце c

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

  A            B
Marham      240,0001
Sigonella   400,0002
Toulon      400,0003
Ghedi       150,0004
Lajes      2000,0005
Nordholz    400,0006

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

  A          B
Marham      240
Sigonella   400
Toulon      400
Ghedi       150
Lajes      2000
Nordholz    400
0
отвечен zioming 2022-11-09 08:26

Я знаю, что это было давно, но формулы в других ответах не работали для меня. Тем не менее, я заставил его работать с несколькими незначительными изменениями:

{=INDEX($A:$A,SMALL(IF(B:B=B1,ROW(B:B)),COUNTIF(B1:B,B1)))}
-1
отвечен RansomV 2022-11-09 10:43

как о =sort(a2:b7,2,true) в ячейке C2?

-3
отвечен Sam 2022-11-09 13:00

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх