calc / percentage
割合・パーセント計算
割合計算・増減率・逆算など4パターンに対応した電卓ツール。 消費増税・割引率・達成率など業務でよく使うパーセント計算を手軽に行えます。
「値」が「全体」の何%かを求める
「値」が「全体」の何パーセントかを計算します。 例:25 ÷ 200 × 100 = 12.5%
結果
数値を入力すると結果が表示されます
使い方
01- 上部タブから計算パターンを選択してください(何%か・n%はいくつか・増減率・全体を逆算)
- 各フィールドに数値を入力すると即座に結果が表示されます
- 結果の横の「コピー」ボタンで数値をクリップボードにコピーできます
- 増減率タブでは減少時は赤色、増加時は緑色で表示されます
実装コード
02外部ライブラリ不要のTypeScriptのみで実装。各計算パターンを純粋関数として定義し、 ゼロ除算・NaN・Infinityを考慮してエラー時は null を返します。そのままコピーして利用できます。
/** A: value は total の何 % か */
export function calcWhatPercent(value: number, total: number): number | null {
if (!isFinite(value) || !isFinite(total)) return null
if (total === 0) return null
const result = (value / total) * 100
return isFinite(result) ? result : null
}
/** B: total の n% はいくつか */
export function calcPercentOf(percent: number, total: number): number | null {
if (!isFinite(percent) || !isFinite(total)) return null
const result = (percent / 100) * total
return isFinite(result) ? result : null
}
/** C: from から to への増減率(%) */
export function calcPercentChange(from: number, to: number): number | null {
if (!isFinite(from) || !isFinite(to)) return null
if (from === 0) return null
const result = ((to - from) / Math.abs(from)) * 100
return isFinite(result) ? result : null
}
/** D: value が n% のとき、全体はいくつか(逆算) */
export function calcTotal(value: number, percent: number): number | null {
if (!isFinite(value) || !isFinite(percent)) return null
if (percent === 0) return null
const result = (value / percent) * 100
return isFinite(result) ? result : null
}よくある使用例・注意点
03消費増税の計算(税込み価格)
税抜き価格に10%を加算する場合は「B: n%はいくつか」で税額を求め、元の価格に加算します。例えば1,000円の商品の消費税は「1000 の 10% = 100円」。税込みは1,100円になります。
達成率・進捗率の確認
目標100件のうち75件達成した場合の達成率は「A: 何%か」で「75 ÷ 100 × 100 = 75%」となります。KPIの進捗確認、売上目標達成率など業務でよく使うパターンです。
前月比・前年比の増減率
「C: 増減率」タブを使うと前月や前年との比較が一発で計算できます。例えば先月100万円・今月120万円の売上なら「100 → 120 = +20%」。マイナスの場合は赤色で表示されます。
割引後の元値を逆算
「D: 全体を逆算」は「この金額は何%割引後の価格か?」という場合に便利です。例えば税込み表示価格から税抜き価格を求めたい場合、110円が110%なら全体(税抜き)は100円と計算できます。
浮動小数点誤差について
ブラウザのJavaScriptはIEEE 754 倍精度浮動小数点を使用するため、0.1 + 0.2 = 0.30000000000000004 のような誤差が発生することがあります。このツールでは toPrecision(10) で丸めて表示しているため実用上問題ない精度で計算できます。
関連ツール
04ソースコード
05このツールのソースコード(テストコードを含む)はGitHubで公開しています。 MITライセンスで自由に利用・改変できます。
GitHub でコードを見る →