Как отобразить коэффициент в 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
Кто-нибудь знает, как это достичь?
Спасибо заранее.
Ответы
Ответ 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 год, это отлично работает.