のようなデータのExcelスプレッドシートがあります。
ColumnA ColumnB
33 11
25 5
6 4
私がやりたいのは、A:Bという形式で、A列とB列の比率を示す3列目を追加することです。例えば、以下のようになります。
ColumnA ColumnB Ratio
33 11 3:1
25 5 5:1
6 4 3:2
誰かこれを実現する方法を知っていますか?
宜しくお願いします。
この方式をお試しください。
=SUBSTITUTE(TEXT(A1/B1,"?/?"),"/",":")
結果です。
A B C
33 11 3:1
25 5 5:1
6 4 3:2
説明
これは特別なツールキットやマクロを必要としません。唯一の欠点は、結果が数値ではなくテキストとみなされることです。
Note: @Robin Dayが提案したように、丸めを減らすために必要に応じて疑問符(?)の数を増やしてください(Robinさんありがとうございます!)。
最大公約数(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)
関数を呼び出した結果を隠しカラムに格納し、この結果を使用することで、1行に2回関数を呼び出すことを避けることをお勧めします。
ColumnA ColumnB ColumnC ColumnD
1 33 11 =GCD(A1; B1) =A1/C1 & ":" & B1/C1
2 25 5 =GCD(A2; B2) =A2/C2 & ":" & B2/C2