Подтвердить что ты не робот

Как отобразить коэффициент в 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

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

Спасибо заранее.

4b9b3361

Ответ 1

Вы ищете наибольший общий делитель (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

Ответ 2

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

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

Результат:

A   B   C
33  11  3:1
25  5   5:1
6   4   3:2

Пояснение:

  • ТЕКСТ (A1/B1, "?/?" ) превращает A/B в несобственную фракцию
  • SUBSTITUTE (...) заменяет "/" во фракции двоеточием

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


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

Ответ 3

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

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

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

Ответ 4

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

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

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

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

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

Ответ 5

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

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

Ответ 6

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

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

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

Ответ 7

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

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

или

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

Ответ 8

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

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

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