折れ線グラフを描くばあい、

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

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

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/04/26 11:31:37
  • 終了:2007/05/03 11:35:03

回答(4件)

id:yocchan731 No.1

yocchan731回答回数119ベストアンサー獲得回数142007/04/26 12:03:39

ポイント27pt

エクセルで

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

はどうでしょうか.

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

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

id:disca

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

2007/04/26 15:45:48
id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912007/04/26 12:22:30

ポイント27pt

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

=CEILING(A1,100)

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

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

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

45 50
495 500
4995 5000
49995 50000

のように切り上げます。

基準値の倍数に切り上げ

id:disca

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

2007/04/26 15:48:05
id:takejin No.3

たけじん回答回数1472ベストアンサー獲得回数1892007/04/26 16:18:27

ポイント26pt

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

でいかがでしょう。

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

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

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

id:jeak No.4

jeak回答回数25ベストアンサー獲得回数12007/04/26 22:24:02

ポイント10pt

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()は切り上げ関数です。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません