Сортировка дробных чисел в Excel

Обновлено: 20.11.2024

привет, форум,
Позвольте мне представить проблему вашей проницательности.
В электронной таблице я отображаю некоторые атрибуты Exif моих файлов изображений.
Время экспозиции выражается в долях секунды, например, 1/30 с, 1/100 с.
После удаления аббревиатуры «сек» остается дробное выражение 1/30 или 1/100; она рассматривается Excel как текст.
Я не знаю, как в VBA отсортировать эти значения так, чтобы 1/30 предшествовало 1/100.
У некоторых людей есть какие-либо идеи.
Заранее спасибо за ответы.

Дебрадж

Ниндзя Excel

Приемлем ли вспомогательный столбец...

Вложения

НАРАЯНК991

Ниндзя Excel

Если вы выберете формат ячейки как дробь , Excel правильно сортирует данные.

Гарри Ковейр

Член

Привет, Дебрадж, Нараян
@Debraj
Я адаптировал ваше предложение в VBA; работает нормально, кроме "+0". Он вызывает математическую операцию над текстовым значением, что приводит к ошибке.
Посмотрите здесь мой код, где myvalue содержит строку для анализа; например "?1/50 сек."

В результате ячейка содержит хорошо 1/50 текста.
@Narayan
Я попробовал несколько решений для преобразования в VBA текстового значения «1/50» в дробь.
Функция "NumberFormat" не применяется к нечисловым значениям.
Формат функции приводит к нежелательному результату: для 1/50 она дает 18264 ??/??

Нужно ли вам предложить преобразовать нечисловое дробное значение в числовое?
Заранее спасибо
Гарри

НАРАЯНК991

Ниндзя Excel

Извините, я не прочитал ваш пост полностью; Я думал, вы говорите о ручной сортировке.

Если значения помещаются в ячейки после того, как они были отформатированы как дроби, Excel автоматически преобразует значения в десятичные эквиваленты дробей; таким образом, 1/100 станет 0,01

У вас уже есть данные, введенные в ячейки в виде текста?

Гарри Ковейр

Член

Привет, Нараян,
Спасибо за ответ.
После преобразования значения Exif с помощью функции замены ячейка содержит нечисловое дробное значение, например «1/50». Глубокий анализ выявляет наличие скрытого (даже в строке формул) "?" персонаж. Единственная функция len(cell) с результатом 5 или debug.print (?1/50) свидетельствует о наличии этого "?" персонаж.
Если я удалю "?" с

результат в ячейке становится "jan-50" для всех нечисловых дробей меньше 1/100.
Это состояние искусства.
Любая помощь в "манипулировании" VBA для преобразования нечислового значения "1/50" в дробь "1/50" будет приветствоваться.

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

Мне нужно отсортировать продукты по мощности. Мощность может быть дробной,
десятичной или целой. Например, мне нужно, чтобы 1/100 предшествовало 1/10,
1/125 предшествовало 1/12, 1/10 предшествовало 1.0, 3/4 предшествовало
1. и т. д.

Почему бы вам не использовать дробный формат в числовом формате?

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

Еще один вариант — использовать эту формулу:

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

E F
8 '1/2 .5
9 '1/3 .33333
10 '1/30 .0333333

F8 будет содержать формулу, которую я написал, и вы сортируете всю таблицу по
столбцу F.

Надеюсь, это поможет, и если это так, пожалуйста, проголосуйте за этот ответ.

"Split Window Diner" пишет:

> Мне нужно сортировать продукты по лошадиным силам. Мощность может быть дробной,
> десятичной или целым числом. Например, мне нужно, чтобы 1/100 предшествовало 1/10,
> 1/125 предшествовало 1/12, 1/10 предшествовало 1.0, 3/4 предшествовало
> 1 и т. д.

"Mexage" пишет:

> Почему вы не используете дробный формат в числовом формате?
>
> Таким образом, вы вводите только десятичное значение, и оно будет представлено своей
> дробью, но сортировщик не будет перепутан.
>
> Другой вариант — использовать эту формулу:
>
> =ЕСЛИ(ЕОШИБКА(ПОИСК("/",E8)),ЗНАЧ(E8),ЛЕВО( E8,SEARCH("/",E8)-1)/RIGHT(E8,SEARCH("/",E8)-1))
>
> Где E8 — значение, которое нужно преобразовать из дробь или десятичная до
> десятичная. С помощью этой формулы вы можете создать другой столбец рядом с дробями
> и сортировать по десятичным значениям.
>
> EF
> 8 '1/2 .5
> 9 '1/3 .33333
> 10 '1/30 .0333333
>
> F8 будет содержать формулу, которую я написал, и вы сортируете всю таблицу по
> столбцу F.
>
> Надеюсь, это поможет, и если это так, пожалуйста, проголосуйте за этот ответ.
>
> Г. Моралес
>
> "Закусочная с разделенным окном" писал:
>
> > Мне нужно рассортировать продукты по лошадиным силам. Мощность может быть дробной,
> > десятичной или целым числом. Например, мне нужно, чтобы 1/100 предшествовало 1/10,
> > 1/125 предшествовало 1/12, 1/10 предшествовало 1.0, 3/4 предшествовало
> > 1. и т. д.
Это не сработало для всех значений в столбце. Некоторые дроби
не были правильно преобразованы в десятичные, а некоторые преобразовались.

Какие дроби не конвертировались?
И что для них вернула формула?


Splt Window Diner написал:
>
> "Mexage" написал:
>
> > Почему бы вам не использовать дробный формат в числовом формате? ?
>>>
> > Таким образом, вы вводите только десятичное значение, и оно будет представлено своей
> > дробью, но сортировщик не будет перепутан.
> >
> > Другой вариант — использовать эту формулу:
> >
> > =ЕСЛИ(ЕОШИБКА(ПОИСК("/",E8)),ЗНАЧ(E8 ),ВЛЕВО(E8,ПОИСК("/",E8)-1)/ВПРАВО(E8,ПОИСК("/",E8)-1))
> >
> > Где E8 — значение, которое необходимо преобразовать из дробного или десятичного числа в
> > десятичное число. С помощью этой формулы вы можете создать другой столбец рядом с
> > дробями и сортировать по десятичным значениям.
>>
> > EF
> > 8 '1/2 ,5
> > 9 '1/3 .33333
> > 10 '1/30 .0333333
>>>
> > F8 будет содержать формулу, которую я написал, и вы сортируете всю таблицу по
>> столбцу F.
>>>
>>> Надеюсь, что это поможет, и если это так, пожалуйста, проголосуйте за этот ответ.
>>>
> > Г. Моралес
> >
> > "Закусочная с разделенным окном" писал:
> >
> > > сортировать продукты по лошадиным силам. Мощность может быть дробной,
> > > десятичной или целым числом. Например, мне нужно, чтобы 1/100 предшествовало 1/10,
> > > 1/125 предшествовало 1/12, 1/10 предшествовало 1.0, 3/4 предшествовало
> > > 1. и т. д.
> Это не сработало для всех значений в столбце. Некоторые дроби
> неправильно конвертировались в десятичные, а некоторые конвертировались.

Возможно, такие значения, как 1 1/2,
в этом случае лучше использовать макрос.

Хорошо. здесь без макросов:

=ЕСЛИ(ЕОШИБКА(ПОИСК("/",A1)),ЗНАЧ(A1),ЕСЛИ(ЕОШИБКА(ПОИСК("
",ОТРЕЗАТЬ(A1))),ЛЕВО(A1,ПОИСК(" /",A1)-1)/СРЕДН(A1,ПОИСК("/",A1)+1,10),ЗНАЧЕНИЕ(ЛЕВО(A1,ПОИСК("
",ОТРЕЗАТЬ(A1))))+ СРЕДН(A1,ПОИСК(" ",ОТРЕЗАТЬ(A1)),ПОИСК("/",A1)-ПОИСК("
",ОТРЕЗАТЬ(A1)))/СРЕД(A1,ПОИСК("/", А1)+1,10)))

Я знаю, что это некрасиво, но для этого нужны такие числа, как '1 1/3.
Пожалуйста, используйте только один пробел между дробью и целым числом.

Надеюсь, это поможет,
если поможет, проголосуйте за этот пост

Г. Моралес
"Дэйв Петерсон" писал:

> Какие дроби не конвертировались?
> А что вернула формула для тех?
>
>
> Splt Window Diner написал:
> >
> > "Mexage" написал:
> >
> > > Почему бы вам не использовать формат дроби в числовом формате?
>>> >
> > > Таким образом, вы вводите только десятичное значение, и оно будет представлено своей
> > > дробью, но сортировщик не будет сбит с толку.
> > >
> > > Другой вариант — использовать эту формулу:
> > >
> > > =IF(ISERR(SEARCH("/",E8)) ,ЗНАЧЕНИЕ(E8),ЛЕВО(E8,ПОИСК("/",E8)-1)/ПРАВО(E8,ПОИСК("/",E8)-1))
> > >
> > > Где E8 — это значение, которое необходимо преобразовать из дробной или десятичной дроби в
> > > десятичную. С помощью этой формулы вы можете создать другой столбец рядом с дробями
> > > и сортировать по десятичным значениям.
> > >
> > > EF
> > > 8 '1/2 .5
> > > 9 '1/3 .33333
> > > 10 '1/30 .0333333
> > >
> > > F8 будет содержать формулу, которую я написал, и вы сортируете всю таблицу по
> > > столбцу F.
> > >
> > > Надеюсь, это поможет, и если это так, пожалуйста, проголосуйте за этот ответ.
> > >
> > > Г. Моралес
> > >
> > > "Закусочная с разделенным окном" писал:
> > >
> > > > Мне нужно отсортировать продукты по лошадиным силам. Мощность может быть дробной,
> > > > десятичной или целым числом. Например, мне нужно, чтобы 1/100 предшествовало 1/10,
> > > > 1/125 предшествовало 1/12, 1/10 предшествовало 1.0, 3/4 предшествовало
> > > 1. и т. д.
> > Это не сработало для всех значений в столбце. Некоторые дроби
> > не преобразовывались в десятичные правильно, а некоторые конвертировались.
>
> --
>
> Дэйв Петерсон
>

Участник форума Дата регистрации 11.01.2004 Местоположение Англия MS-Off Ver Excel 2007 Сообщений 388

У меня такое ощущение, что ваши "цифры" для лошадиных сил вводятся как текст.

Если бы это были настоящие числа, они бы реагировали на сортировку.

Обычно вы можете преобразовать текст в число (используйте вспомогательный столбец, если хотите), либо добавив ноль ко всем им, либо умножив их все на 1. Для этого используйте специальное копирование и вставку, используя операцию добавления или умножения.< /p>

Бобу часто приходится составлять таблицы, связанные с заголовками в правительственных постановлениях. Нумерация правил в десятичной форме, и это создает проблемы, когда он пытается отсортировать их по порядку. Примеры: 820,20, 820,25, 820,200, 820,250. Боб вводит их как текст, но они все равно выходят отсортированными так, как он этого не хочет. Во всех случаях Excel отбрасывает конечные нули и видит «820,20» и «820,200» как одно и то же; Бобу интересно, что он может сделать.

Прежде всего следует отметить, что если Excel отбрасывает конечные нули, то ячейки не форматируются как текст. Вам нужно будет отформатировать ячейки как текст, прежде чем что-либо в них поместить, иначе вам нужно будет предварять запись апострофом. В любом случае нули в конце должны оставаться на месте.

Еще один способ заставить записи быть текстовыми — изменить их каким-либо образом. Например, вы можете ввести «Рег. 820.200» вместо «820.200». Или вы можете заменить точку после 820 пробелом или тире. Любой из этих и многих других методов заставит запись обрабатываться как текст.

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

Причина в том, что сортировка выполняется слева направо, и в этой схеме ".20" всегда предшествует ".200", которое всегда предшествует ".25". Единственный способ обойти это — изменить структуру чисел так, чтобы (в данном случае) после запятой всегда было три цифры:

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

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

Установив три столбца, вы можете выполнить сортировку на основе содержимого второго и третьего столбцов. После того, как числа отсортированы, вы можете скрыть второй и третий столбцы по желанию.

Биография автора

На его счету более 50 научно-популярных книг и множество журнальных статей. Аллен Уайатт является всемирно признанным автором. Он является президентом Sharon Parq Associates, компании, предоставляющей компьютерные и издательские услуги. Узнайте больше об Аллене.

БОЛЬШЕ ОТ АЛЛЕНА

Начиная с другого шаблона

Не хотите, чтобы Word запускался с использованием шаблона Normal.dot? В этом совете объясняется, как начать использовать другой шаблон.

Преобразование текстового поля во фрейм

В настоящее время большинство пользователей Word знают, что такое текстовые поля, но не имеют представления о фреймах. Тем не менее, для некоторых целей фреймы .

Установка согласованной ширины столбцов в нескольких таблицах

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

Экономьте время и повышайте производительность Excel! Автоматизируйте практически любую рутинную задачу и сэкономьте часы, дни, а может быть, и недели. Затем узнайте, как заставить Excel делать то, что вы считали просто невозможным! Освоение расширенных макросов Excel никогда не было проще. Ознакомьтесь с Excel 2010 VBA и макросами сегодня!

Дополнительные советы Excel (меню)

Слишком много форматов при сортировке

Сортировка — это одна из основных операций, выполняемых на листе. Если ваша сортировка не работает и вы получаете сообщение об ошибке .

Создание порядка сортировки

Excel очень гибко сортирует данные. Вы даже можете создать свой собственный порядок сортировки, который будет полезен, когда .

Сортировка огромных списков

У вас есть огромное количество данных, которые нужно отсортировать на листе, но Excel не сортирует их правильно? Вот некоторые .

Подписаться

БЕСПЛАТНАЯ СЛУЖБА. Получайте подобные советы каждую неделю в ExcelTips, бесплатном информационном бюллетене по повышению эффективности. Введите свой адрес и нажмите "Подписаться".

Дроби в Excel – это числовой формат, используемый для отображения числа в виде фактической дроби, а не десятичного числа. Форматирование дробей Excel поставляется с различными параметрами, такими как до одной цифры, две цифры, три цифры, половинки, четверти, восьмые, шестнадцатые и т. д.

Функции Excel, формулы, диаграммы, форматирование, создание информационной панели Excel и др.

В Excel, когда мы разделяем любые два числа с помощью знака косой черты («/»), оно преобразует это число в десятичный формат. Чтобы сохранить дроби для таких чисел, у нас есть опция «Дроби»; сначала выберите ячейку, значение которой нам нужно для преобразования нарушений, и выберите параметр «Формат ячеек» в списке меню, вызываемом правой кнопкой мыши. В разделе категорий выберите «Дробь», при которой у нас есть несколько условий для дробного типа до одной цифры, двух цифр или трех цифр, таких как половинки, восьмые и т. д.

Как использовать дробное форматирование в Excel?

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

Точно так же, если мы введем число в формате дроби, Excel не распознает и выдаст результат в формате даты. В этом примере мы узнаем, как форматировать дроби в Excel.

Мы можем выполнить форматирование, выбрав числовую группу, или щелкнув правой кнопкой мыши, мы можем выполнить форматирование, выполнив следующие шаги.

  • Сначала введите дробные числа в любую из ячеек.
  • Перейти в главное меню.
  • Группу номеров можно найти в главном меню, как показано ниже.

  • Нажмите раскрывающееся меню, чтобы получить список параметров форматирования. Выберите «Формат дроби».

  • Данные входные данные будут преобразованы в формат Fraction. Например, если мы введем формат дробей 0,5, вы получите результат 1/2.
  • Чтобы найти больше форматов дробей Excel, нажмите кнопку "Дополнительные числовые форматы".

  • После того, как мы нажмем «Другие числовые форматы», мы получим диалоговое окно форматирования ячеек, как показано ниже.

  • Нажмите на первую вкладку под названием "Число". В списке числовых форматов мы можем найти параметр «Дробь».
  • Нажмите на параметр «Дробь», чтобы справа появилась опция форматирования дроби, как показано на снимке экрана ниже.
  • Пожалуйста, выберите нужный формат дроби, к которому нам нужно применить, и нажмите "ОК".

  • Чтобы выбранное форматирование применялось ко всем ячейкам.

Применить форматирование дробей с помощью контекстного меню в Excel

Мы можем выполнять форматирование чисел с помощью контекстного меню, которым очень легко пользоваться.

Обучение Excel (21 курс, более 9 проектов) 21 онлайн-курс | 9 практических проектов | 110+ часов | Поддающийся проверке сертификат об окончании | Пожизненный доступ
4,9 (10 089 оценок)

  • Сначала введите номер дроби.
  • Пожалуйста, щелкните правой кнопкой мыши ячейку, чтобы мы получили вариант. Нажмите на параметр «Формат ячеек».

  • Чтобы появилось диалоговое окно «Формат ячеек». Нажмите на первую вкладку под названием "Число".

  • В списке числовых форматов мы можем найти параметр «Дробь».
  • Нажмите на параметр «Дробь», чтобы справа появилась опция форматирования дроби.
  • Пожалуйста, выберите нужный формат дроби, который нам нужно применить, и нажмите "ОК".

  • Чтобы выбранное форматирование применялось ко всем ячейкам.

Примеры дробей в Excel

Ниже приведены различные примеры дробей в Excel.

В этом примере показано, как преобразовать фактические десятичные числа в дробное форматирование, выполнив следующие шаги.

Рассмотрите приведенный ниже пример, в котором есть какие-то десятичные числа, как показано ниже.

Предположим, что нам нужно преобразовать приведенные выше десятичные числа в дробные числа. Предположим, если мы попытаемся ввести дробное число как 1/2, Microsoft Excel не распознает и вернет вывод как «01-февраль». Чтобы преодолеть это форматирование, мы можем преобразовать эти десятичные числа в дробное форматирование, выполнив следующие шаги.

  • Сначала выберите всю таблицу, чтобы применить дробное форматирование, как показано ниже.
  • Теперь перейдите к группе номеров, которую мы можем найти в меню ГЛАВНАЯ.

  • Нажмите раскрывающееся меню, чтобы получить список параметров форматирования. Выберите формат дроби из этого списка.

  • После того как мы выберем параметры форматирования дроби, выбранные десятичные числа будут преобразованы в дробный формат. В приведенном ниже результате мы показали сравнение десятичных чисел и дробных чисел. Увидев приведенный ниже результат, мы можем легко сравнить результат из первой строки, например, десятичное число 0,5 имеет формат дроби 1/2, а 0,6 имеет формат дроби 3/5, а 1,6 имеет десятичный формат 1 3/5. где мы не можем ввести вручную в этом формате в excel.

Форматирование дробей с использованием дополнительных параметров в Excel

В приведенных выше примерах мы видели, как преобразовать десятичное число в базовый вариант форматирования.

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

Давайте посмотрим на форматирование в этих примерах, следуя приведенным ниже процедурам.

В приведенной выше процедуре мы видели, что форматирование дроби имеет вариант форматирования восьми дробей, как показано ниже.

По умолчанию при форматировании дробей применяется первый параметр, который называется «До одной цифры (1/4)».

Рассмотрите приведенный ниже пример, в котором десятичные числа состоят из двух цифр.

Чтобы преобразовать двузначные десятичные числа в двузначные дроби, выполните следующие действия.

  • Теперь щелкните правой кнопкой мыши на выбранной таблице, чтобы мы получили следующее меню.
  • В списке выберите параметр «Формат ячейки».

  • После того, как мы нажмем на ячейки формата, мы получим диалоговое окно параметров формата, как показано ниже.
  • Нажмите на первую вкладку под названием "Число".

  • В списке числовых форматов мы можем найти параметр «Дробь».
  • Нажмите на параметр «Дробь», чтобы справа появилась опция форматирования дроби, как показано на снимке экрана ниже.

  • Теперь выберите второй вариант под названием «До двух цифр» и нажмите «ОК».

  • После того, как мы нажмем кнопку "ОК", выбранные десятичные числа будут преобразованы в формат двузначных дробей, который показан как результат сравнения на снимке экрана ниже. В приведенном ниже результате мы можем сравнить первую строку двузначных десятичных чисел с форматированием двузначной дроби, например, 0,56 имеет формат дроби 14/25, а 0,69 имеет формат дроби как 20/29, а 1,63 имеет формат дроби как 1. 17/27.

Точно так же мы можем преобразовать заданные десятичные числа в трехзначные дробные числа, например

Кварталы 2/4 будут иметь следующий формат

Поскольку восьмые (4/8) имеют следующий формат

Поскольку шестнадцатая (8/16) имеет следующий формат:

Что нужно помнить

  • Дробные числа в основном используются в математических функциях.
  • Если в Microsoft Excel ввести дробные значения, Excel выдаст результат в формате данных.
  • Убедитесь, что мы выбрали параметр форматирования дробей в группе чисел, прежде чем давать числа дробей.

Рекомендуемые статьи

Это руководство по работе с дробями в Excel. Здесь мы обсуждаем, как использовать дроби в Excel вместе с примерами Excel и загружаемым шаблоном Excel. Вы также можете ознакомиться с другими нашими рекомендуемыми статьями –

Читайте также: