#sorting #google-sheets #google-sheets-formula
#сортировка #google-таблицы #google-sheets-формула
Вопрос:
В настоящее время я переучиваюсь в Google sheets, и мне было интересно, есть ли способ отсортировать набор чисел по строке для работы с тай-брейками (т. Е. Записью выигрыша / проигрыша / ничьей)
Используя функцию СОРТИРОВКИ, я смог правильно отсортировать данные на основе выигрышей, но я хочу иметь возможность корректировать ее еще больше. В настоящее время у меня есть что-то вроде этого…
- 3-0-0
- 1-4-0
- 1-3-0
- 1-2-0
- 1-1-0
когда я хочу иметь что-то вроде этого, где значения с наименьшей записью потерь вместо этого идут сверху…
- 3-0-0
- 1-1-0
- 1-2-0
- 1-3-0
- 1-4-0
Есть ли другая функция или обходной путь для достижения чего-то подобного?
Ответ №1:
=SORT(A1:A5,INDEX(SPLIT(A1:A5,"-"),,1),0,INDEX(SPLIT(A1:A5,"-"),,2),1)
SPLIT(A1:A5,"-")
Автор:-
INDEX(SPLIT(A1:A5,"-"),,1)
получаем первый столбец разделенного массиваINDEX(SPLIT(A1:A5,"-"),,2)
получить второй столбец=SORT(A1:A5,col1,0,col2,1)
Сортировка A1: A5 в порядке убывания на основе столбца 1 и в порядке возрастания на основе столбца 2
Комментарии:
1. Использовал его, и это прекрасно сработало. Я уже экспериментировал с формулой РАЗДЕЛЕНИЯ, но у меня было ощущение, что для работы должна была быть другая формула. Спасибо!
2. Любопытно спросить, как я мог бы получить наибольшее значение с помощью этой формулы? Могу ли я использовать другое РАЗДЕЛЕНИЕ или ПРАВО в формуле СОРТИРОВКИ?
3. @MrWV
INDEX(SPLIT(A1:A5,"-"),,3)
Ответ №2:
Хотя на «человеческом языке» что-то вроде 3-0-0
можно было бы назвать «набором чисел», на «языке электронных таблиц» это текстовое значение.
Чтобы иметь возможность использовать встроенные функции сортировки в Google Sheets, вы должны разделить значения на столбцы, и угадайте, что для этого есть встроенная функция:
- Выберите столбец
- Нажмите на Данные> Разделить текст на столбцы
- Выберите пользовательский разделитель и установите
-
Есть и другие варианты, например, использование формул и сценариев.
Пример формулы
=ArrayFormula(QUERY(
{A1:A5,REGEXEXTRACT(A1:A5,"-(d{1,})-")},
"select Col1 order by Col2",0)
)
В приведенной выше формуле используется регулярное выражение для извлечения чисел между -
, затем используйте запрос для сортировки значений в A1:A5
порядке возрастания, используя эти значения.
Комментарии:
1. В этом случае я пошел и использовал некоторые формулы, такие как SORT и SORTN, чтобы найти обходной путь, но обычно это приводит к наибольшему значению потерь сверху (1-4-0, 1-3-0, 1-2-0 и т.д.). Есть ли какие-либо другие формулы, которые нужно искать и следить за получением желаемого результата?