人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

折れ線グラフを描くばあい、
グラフの最大値が495の場合、
目盛りの最大値を500にする数式をお教えください。

例: 目盛りの最大値= pow(10, log10(最大値) + 1) など…

●質問者: disca
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:PoW あい グラフ
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● yocchan731
●27ポイント

エクセルで

目盛りの最大値=(ROUNDUP(最大値/POWER(10,ROUNDDOWN(LOG10(最大値),0)),0))*POWER(10,ROUNDDOWN(LOG10(最大値),0))

はどうでしょうか.

もっと簡単なのがありそう・・・

http://www.relief.jp/itnote/archives/000937.php

◎質問者からの返答

すみません、エクセル等の表計算ソフトは使わず、自分自身で描画する場合になります。


2 ● Mook
●27ポイント

EXCEL の関数ということでしたら、 CEILING(切り上げ)でどうでしょうか。

=CEILING(A1,100)

で A1 を 100 単位に切り上げます。

=CEILING(A1,POWER(10,FLOOR(LOG(A1,10),1)))

でしたら、最大桁数の単位で

45 50
495 500
4995 5000
49995 50000

のように切り上げます。

基準値の倍数に切り上げ

◎質問者からの返答

すみません、Excelを使わずに算術で求める方法でお願いします。


3 ● たけじん
●26ポイント

(INT(最大値/POW(10,INT(log(最大値))))+1)*POW(10,INT(log(最大値)))

でいかがでしょう。

最大桁の数字をひとつ増やすだけですが。

http://q.hatena.ne.jp/1177554696

※ INT()使ってもいいですか?


4 ● jeak
●10ポイント

URLはダミーです。

http://www.hatena.ne.jp/


pow()やlog10()などの関数を使用していることから、一般的な浮動小数点用の関数は用意されているものとします。

恐らく、切り上げや切り捨て処理がないと期待しているような計算は出来ないと思います。


変数"桁値"を用意します。

この変数は1,10,100,1000,...など10のべき乗の値をとります。


桁値=pow(10,floor(log10(最大値)))

目盛りの最大値=ceil(最大値/桁値)*桁値


変数が用意できないのであれば、多少数式は長くなりますが

目盛りの最大値=ceil(最大値/pow(10,floor(log10(最大値))))*pow(10,floor(log10(最大値)))


最大値が0より大きい値(1以下も含む)であれば一応は上記の式で動作するはずです。

念のため説明しますと、floor()は1未満切り捨て、ceil()は切り上げ関数です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ