Как отобразить коэффициент в Excel в формате A: B?

У меня есть таблица Excel с данными типа:

ColumnA ColumnB 33 11 25 5 6 4 

То, что я хотел бы сделать, это добавить третий столбец, который показывает отношение столбца A к столбцу B в формате A: B. Например:

 ColumnA ColumnB Ratio 33 11 3:1 25 5 5:1 6 4 3:2 

Кто-нибудь знает, как это достичь?

Заранее спасибо.

Вы ищете наибольший общий делитель (GCD).

Вы можете вычислить его рекурсивно в VBA, например:

 Function GCD(numerator As Integer, denominator As Integer) If denominator = 0 Then GCD = numerator Else GCD = GCD(denominator, numerator Mod denominator) End If End Function 

И используйте его в своем листе следующим образом:

  ColumnA ColumnB ColumnC 1 33 11 =A1/GCD(A1; B1) & ":" & B1/GCD(A1; B1) 2 25 5 =A2/GCD(A2; B2) & ":" & B2/GCD(A2; B2) 

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

  ColumnA ColumnB ColumnC ColumnD 1 33 11 =GCD(A1; B1) =A1/C1 & ":" & B1/C1 2 25 5 =GCD(A2; B2) =A2/C2 & ":" & B2/C2 

Попробуйте эту формулу:

 =SUBSTITUTE(TEXT(A1/B1,"?/?"),"/",":") 

Результат:

 ABC 33 11 3:1 25 5 5:1 6 4 3:2 

Объяснение:

  • ТЕКСТ (A1 / B1, «? /?») Превращает A / B в неправильную фракцию
  • SUBSTITUTE (…) заменяет «/» во фракции двоеточием

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


Примечание: как предложил @Robin Day, увеличьте количество вопросительных знаков (?) По желанию, чтобы уменьшить округление (спасибо Robin!).

Вторая формула на этой странице использует функцию GCD в Analysis ToolPak, вы можете добавить ее из Tools> Add-Ins.

= А1 / НОД (A1, B1) & ":" & B1 / НОД (A1, B1)

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

Предположим, у вас есть данные в ячейках D и E. Вот самый простой коэффициент, отображающий fn моим frnd 'Karthik'

 =ROUND(D7/E7, 2) &":" & (E7/E7) 

Я нашел это самым простым и коротким, но, тем не менее, округлял до нуля десятичных знаков:

= "1" & ":" & ROUND ((A1 / B1), 0)

обратите внимание на пробелы до и после &

что это означает, что «1» и «:» рассматриваются как дополнительная информация о неформовой формуле для общей формулы. Функция ROUND округляет A1 / B1, которая является базовой формулой до 0 знаков после запятой. вы можете попробовать перейти на 1,2,3 …. десятичные разряды.

Надеюсь, я сделал это просто

Ниже приведена формула, которую я использую. У меня была проблема с использованием GCD, потому что я использовал довольно большие числа для вычисления коэффициентов, и я нашел, что отношения, такие как «209: 1024», менее полезны, чем просто округление, поэтому он отображает либо «1: », либо « : 1», , Я также предпочитаю не использовать макросы, если это вообще возможно. Ниже приведен результат.

 =IF(A1>B1,((ROUND(A1/B1,0))&":"&(B1/B1)),((A1/A1)&":"&(ROUND(B1/A1,0)))) 

Некоторая формула не нужна (например, «A1 / A1»), но я включил ее, чтобы показать ее логику. Кроме того, вы можете переключать количество округлений, играя с настройкой для каждой функции ROUND.

На работе у нас есть только Excel 2003, и эти две формулы, похоже, отлично работают для меня:

 =(ROUND(SUM(B3/C3),0))&":1" 

или

 =B3/GCD(B3,C3)&":"&C3/GCD(B3,C3) 

Спасибо, я. Я использовал это:

 =CONCATENATE((number1/GCD(number1,number2)),":",((number2/GCD(number1,number2)))) 

Если у вас 2007 год, это отлично работает.

  • Использование шаблона в sumproduct в excel
  • Формула для преобразования длинных минут в часы
  • Формулы Excel даты перестали обновляться
  • В Excel для построения вспомогательного массива из значений индекса запуска / остановки в уравнениях
  • Excel копирует целую строку на другой лист
  • Mac Excel 2011 - форматирование IF для простого отслеживания затрат
  • Не удается получить текст дисплея в ячейке, когда прочитайте excel через soapUI
  • Как использовать ячейку в Excel, которая имеет формулу как условие?
  • Excel: как проверить, существует ли значение, соответствующее указанным критериям, в таблице поиска?
  • Подсчитайте детали по конкретному подробному набору данных
  • Фильтрация значений по формуле
  • Interesting Posts

    Worksheet_SheetChange не работает

    Удалить строку, когда поля пусты

    Влияние производительности .End (xlDown) против .End (xlUp)

    организация данных в файлах excel с помощью python

    Вставка значения в последовательную серию, а затем продолжение серии

    Использование Excel VB FtpCommand для вывода списка удаленных каталогов

    Как я могу округлить отрицательные числа до ближайших 100?

    VBA – изменение значения ячейки на основе двух других ячеек

    excel для поиска текста, а затем вставить соответствующий текст в новые столбцы

    Ошибка обработки «доступных ресурсов»

    Как реализовать Экспорт данных в excel функцию в угловом 4 приложения со стилями и форматированием?

    VBA на массивах работает слишком медленно

    VBA Для прокрутки по именованной ошибке диапазона

    предотвращать дублирование в диапазоне ячеек

    Excel. Почему функция SUMPRODUCT () возвращает значение #VALUE! когда я использую диапазон или именованный диапазон, а не константу массива?

    Давайте будем гением компьютера.