出産前後の痔にはご注意!

エクセルで60進法計算の仕方を教えてください

時間表記ではなく、小数点表記(小数点以下2桁)で60進法の計算をしたいのです。

例) 0.60 になったら → 1.00 と表記される

具体的には、 0.10 + 0.50 = 1.00
1.20 + 0.50 = 1.10
1.50 + 1.50 = 3.40

となる計算にするには、マクロ以外の方法でどうしたらよいでしょうか、教えてください。
宜しくお願いします(><)

このQ&Aに関連する最新のQ&A

A 回答 (8件)

0.6進法の数値に変換後、SUM関数で合計し、元に戻してやれば簡単に計算出来ると思います。



例えば、A列に元数値、B列に0.6進法の数値とすれば

  A1=1.2
  A2=0.5

の場合

  B1=int(A1)*0.6+mod(A1,1)
  B2=int(A2)*0.6+mod(A2,1)・・・・・セル[B1]をセル[B2]にコピーする
  B3=int(sum(B1:B2)/0.6)+mod(sum(B1:B2),0.6)・・・・・答え

もし、計算対象が沢山あったとしても、セル[B1]を必要行コピーして、最後に元に戻す計算式を入力すれば、いくらでも計算出来ます。
    • good
    • 8
この回答へのお礼

kuro-cyanさん

この方法だと、複数の数値を自由に足せるのですね!
実際に使用してみた所、数値のセルを増やしても簡単に計算式を手直しすることが出来て、
とても便利でした。私の想像以上のことが実現できましたので、ベストアンサーにさせて頂きます。
ありがとうございました。

お礼日時:2010/06/28 12:05

← No.6


二項の和をマクロで書くしかない気がするが…
sum されたら終わりでしょ。どうすればいいの?
    • good
    • 0

質問者そっちのけでちょっと遊んでみるメモ:



#2の仕様は確かに今回の質問者の仕様を満たすから問題はない…のだが、例えば…

A1 = 1.50
A2 = 1.50
A3 = 1.50




A25 = 1.50

となっていたとする。これを十進数で合計しなさいって言われたら
SUM(A1:A25)ってな形で書くよね。

小数部60進法で合計するときの式どうしよう?
2個ずつ式を適用していくような形だと長すぎるし、0.4の部分をそのたびごとに他で計算して…というのも非現実的だ。一応俺の環境でExcelで遊んでみて、多分出来たと思うけど、伏せとく

#3の式がどうなのかはちょっとまだ検討中。上記同様まとめるとしたらどんな式になるんだろう…?
    • good
    • 0
この回答へのお礼

himajin100000

そうですね、複数の数値を足したい場合も簡単に使用できる
計算式があったら便利だということに気がつきました。
ご意見ありがとうございました。

お礼日時:2010/06/28 12:03

1.9+3.9で7.0になることを確認して下さい。

    • good
    • 0

1.9+1.9で7.0になることを確認して下さい。

    • good
    • 0

これではどうでしょうか。



A1=1.20
B1=0.50

C1=ROUNDDOWN(A1,0)+ROUNDDOWN(B1,0)+ROUNDDOWN((A1-ROUNDDOWN(A1,0)+B1-ROUNDDOWN(B1,0))/0.6,0)+MOD(A1-ROUNDDOWN(A1,0)+B1-ROUNDDOWN(B1,0),0.6)
    • good
    • 3
この回答へのお礼

aokiiさん

ROUNDDOWNとMODを使うのですね。
初めてそういう関数を知ったので勉強になりました!
計算式を使って確認してみました、1.9+3.9で7.0になります。
どうもありがとうございました!

お礼日時:2010/06/28 12:02

こっちのほうが簡単でしたね。


=IF(A1-INT(A1)+B1-INT(B1)<0.6,A1+B1,A1+B1+0.4)
    • good
    • 2
この回答へのお礼

nattocurryさん

最初の計算式でもばっちりできました。
さらに計算式をコンパクトにして頂き、すっきりしていて分かりやすかったです。
小数点2桁目の計算もしっかりできる事に感動しました。
どうもありがとうございました!

お礼日時:2010/06/28 12:00

=INT(A1)+INT(B1)+IF(A1-INT(A1)+B1-INT(B1)<0.6,A1-INT(A1)+B1-INT(B

1),A1-INT(A1)+B1-INT(B1)+0.4)
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q10進法で時間の計算で30分が0.5だったら、その計算方法が分かりませ

10進法で時間の計算で30分が0.5だったら、その計算方法が分かりません、教えてください。

Aベストアンサー

例えば、180分は何時間でしょうか?
60,60,60で3時間。つまり、180÷60で3時間と
やりませんか?

分が60より小さくても同じことです。60で割れば分の単位から
時間の単位にかえることができます。

ただ、6の倍数になってない10分とかは割り切れないので、その
ようなときは普通、分数で 10÷60→10/60→1/6 の
ように表すことが多いと思います。

Q10進法の数を60進法の数に変換するには

 10進法で表された0.06は60進法ではいくつですか。
 一般に、10進数を60進数に直す方法が分りません。特に、小数の場合。
 よろしくお願いします。

Aベストアンサー

10進法は1,2.3・・9で10になったところ1の位から10の位に桁数があがります。
60進法は、たとえば時間で考えれば1.2.3.・・・59秒から60秒になったとき1分になります、つまり60で秒という位から分の位になります。また分も60分で1時間というように分から時間という位にかわります。

10進法での表記を考えてみましょう。
例えば456は100(10^2)の位が4
      10(10^1)の位5
       1(10^0)の位が6
つまり456=4×10^2+5×10^1+6×10^0

小数については、例えば
12.3=1×10^1+2×10^0+3×10^-1

60進法も同じです
7322秒を60進法であらわして見ましょう
7322のなかに60^2は2個あるので2時間(秒より2つ上の位)7322÷60^2=2余り122
次に122のなかに60^1は2個あるので2分(秒より1つ上の位)122÷60^1=2余り2
最後に2のなかに60^0は2個あるので2秒
つまり7322秒は2時間2分2秒となります。

0.06も同じ考え方で出来ます。
0.06のなかに60^-1(60分の1)はいくつありますか
0.06=6/100
  =36/600
  =30/600+6/600
  =3×1/60+1/100
となるのでこたえは3であまりは1/100となります。

次に1/100のなかに60^-2(3600分の1)はいくつありますか
1/100=36/3600
となるのでこたえは36
よって
0.06を60進法であらわすと0.(3)(36)となります。()で囲まれた数字がそれぞれの桁の数字です。
時間を例に取れば0.06時間は時間より1つ下の位分の係数が3で2つ下の位秒の係数が36と言うことです。

10進法は1,2.3・・9で10になったところ1の位から10の位に桁数があがります。
60進法は、たとえば時間で考えれば1.2.3.・・・59秒から60秒になったとき1分になります、つまり60で秒という位から分の位になります。また分も60分で1時間というように分から時間という位にかわります。

10進法での表記を考えてみましょう。
例えば456は100(10^2)の位が4
      10(10^1)の位5
       1(10^0)の位が6
つまり456=4×10^2+5×10^1+6×10^0

小数については、例えば
12.3=1×10^1+2×10^0+...続きを読む

Qエクセルで10進法から60進法に変換する方法

エクセルで10進法から60進法に変換する方法を教えてください。
たとえば、31.7041667という数字があったとして、それが31度42分15秒という角度に変換したいのです。関数電卓では簡単にできるのですが、エクセルでの方法、また関数などあったら教えてください。

Aベストアンサー

ちょっと裏技的ですが。

1.31.7041667を24で割ります。
2.セルの書式設定でユーザー定義を選び、
[h]度mm分ss秒
と入力します。

以上です。

Q60進法と10進法

違いがいまいち分かりません。
時間は60進法だと言いますが、100分など60以上の数でも表せますよね?
そもそも、60という数自体、10進法の数字ではないのでしょうか。
それに一日が24時間だというのも気になります。
時間が60進法なら60時間で一日にならないのでしょうか。
というか、自分が「進法」という概念をきちんと理解しているのかさえ怪しいです……。

また、3進法や100進法なども存在するのでしょうか。
存在するなら、どのような場合に使われるのでしょう。
時間以外に60進法を使う場面があればそれも知りたいです。

数学から離れて久しいド文系ですので、易しい解答を宜しくお願い致します。

Aベストアンサー

n進法というのは、n番目で位が変わるというものです。だから、10進法だと10番目の数、すなわち9の次でくらいが変わります。
本来、60進法というものは、1~59までを違う一桁の数とし、60番目の数で初めて位が上がるとしていました。60秒で1分、60分で1時間とするのと一緒です。1日を60時間とすると、1時間、1分、1秒がが今の五分の二となってしまいますね。だから、24にしたのだと思います。
時間のほかに60進法を使っているのは、図形の角度の世界があります。

60進法にこだわったのは、そもそも、12という数は約数が多いので(2,3,4,6)使いたかった。図形の世界でも、角度の問題で、12進法が最も適している。ところが、人間の指は10本だ。そこで、12と10の最小公倍数、60を取ったのです。

もし人間の指が12本ならば、数学の図形の分野、物理の時間の分野が、もっと発達したと思いますよ。


時間は60進法ですが、実際に使っている数字は、10進法です。そもそも、60進法と呼ぶこと自体、10進法に則ってるのですから。

2進法では、使う数字は1と0だけ。2進法の世界では、2は10なのです。実際、1,10,11,100…と続きますが、いち、じゅう、じゅういち、ひゃくと読みます。極論すれば、2進法の世界では、2進法は10進法なのです。

3進法とかも、できますよ。使う数字を0,1,2とし、1,2,10,11,12,20,21,22,100…とすればよいだけですから。ただ、使う機会がないだけです。

8進法は、古いコンピュータでは使われていましたね。今のコンピュータは16進法。これは、9の上に7つ数字を作り(A,B,C,D,E,Fと表します。)16番目の数で、初めて位が上がるとするものです。コンピュータ本体には2進法で命令しますが(ONかOFFか)、16進法は2進法に直しやすいからです。16進法の10は、2進法の10000。これは、16=2^4に由来します。

n進法というのは、n番目で位が変わるというものです。だから、10進法だと10番目の数、すなわち9の次でくらいが変わります。
本来、60進法というものは、1~59までを違う一桁の数とし、60番目の数で初めて位が上がるとしていました。60秒で1分、60分で1時間とするのと一緒です。1日を60時間とすると、1時間、1分、1秒がが今の五分の二となってしまいますね。だから、24にしたのだと思います。
時間のほかに60進法を使っているのは、図形の角度の世界があります。

60進法にこだわったのは、そもそも、12とい...続きを読む

Q60進法の考え方

基本的なことで申し訳ありません。60進法の計算方法がいまいちわかりません。
実労時間が「94.6h」とします。これを就業時間に直したとき「95:00」になるのはどんな計算になるのでしょうか・

その計算または、わかりやすいHPアドレスを教えてください。
探したのですがいまいちわかりません。
ちなみにこれはExcel計算ではありません。

Aベストアンサー

「0.0時間」は「10分の0時間」「0/10時間」です。つまり「0/60時間」なので「0分」です。
「0.1時間」は「10分の1時間」「1/10時間」です。つまり「6/60時間」なので「6分」です。
「0.2時間」は「10分の2時間」「2/10時間」です。つまり「12/60時間」なので「12分」です。
「0.3時間」は「10分の3時間」「3/10時間」です。つまり「18/60時間」なので「18分」です。
「0.4時間」は「10分の4時間」「4/10時間」です。つまり「24/60時間」なので「24分」です。
「0.5時間」は「10分の5時間」「5/10時間」です。つまり「30/60時間」なので「30分」です。
「0.6時間」は「10分の6時間」「6/10時間」です。つまり「36/60時間」なので「36分」です。
「0.7時間」は「10分の7時間」「7/10時間」です。つまり「42/60時間」なので「42分」です。
「0.8時間」は「10分の8時間」「8/10時間」です。つまり「48/60時間」なので「48分」です。
「0.9時間」は「10分の9時間」「9/10時間」です。つまり「54/60時間」なので「54分」です。
「1.0時間」は「10分の10時間」「10/10時間」です。つまり「60/60時間」なので「60分」です。

>実労時間が「94.6h」とします。これを就業時間に直したとき「95:00」になるのはどんな計算になるのでしょうか・

上記より「0.6時間は、0時間36分」ですから「94.6時間は、94時間36分」です。

憶測ですが、会社の規定で「1時間未満の就業時間は、30分未満は切り捨て、30分以上は切り上げ」になっている筈で、その規則に従えば「36分は30分以上なので切り上げ」です。

そして「実働時間が94時間36分なら、端数の36分を切り上げて、就業時間は95時間」っていう「切り上げ」を行います。

つまり「計算なんかしていない。規則に従って、切り捨てか切り上げをしてるだけ」が、この質問の回答になります。

「0.0時間」は「10分の0時間」「0/10時間」です。つまり「0/60時間」なので「0分」です。
「0.1時間」は「10分の1時間」「1/10時間」です。つまり「6/60時間」なので「6分」です。
「0.2時間」は「10分の2時間」「2/10時間」です。つまり「12/60時間」なので「12分」です。
「0.3時間」は「10分の3時間」「3/10時間」です。つまり「18/60時間」なので「18分」です。
「0.4時間」は「10分の4時間」「4/10時間」です。つまり「24/60時間」なので「24分」です。
「0.5時間」は「10分の5時間」「5/10時間」です。...続きを読む

Qエクセルで分から時間に変換したいのですが

いつもお世話になっています。よろしくお願いいたします。
エクセルで「分」の合計を「時分」に変換して表示したいのですがどうもうまくいきません。
どなたかご教授願えないでしょうか?
例:200(分)=3時間20分もしくは3:20
お願いいたします。

Aベストアンサー

A1に「分」が入っていて、別のセルに時分に変換して表示する場合とします。

24時間(1440分)未満であれば、
=A1/1440
とし、セルの書式設定で以下のいづれかを設定すればOK。
(1)[時刻]→[13:30]を選択
(2)[ユーザー定義]→h:m
(3)[ユーザー定義]→h時間m分
※分単位は常に2桁(2時間05分など)で表示したいなら
 (1)の設定か、またはmをmmに変更してください。


上記方法では23時間59分までしか正しく表示できないので、
もし24時間(1440分)以上になる場合は別の方法が必要です。
=INT(A1/60)&":"&MOD(A1,60)
または
=INT(A1/60)&"時間"&MOD(A1,60)&"分"
※分表示を常に2桁にするのであれば、
 MOD(A1,60)をRIGHT("0"&MOD(A3,60),2)に変更してください。

Qエクセル 60進法 時間 計算

エクセルでの勤務時間の計算方法なのですが、

例えば、出勤 23時00分  退勤  7時00分

    出勤 7時00分   退勤  15時00分

の勤務時間をエクセルで足し算、引き算、合計計算の方法を教えてもらえませんか?

合計計算のように別々の複数の合計計算を出来るようには出来ないのでしょうか?


宜しくお願いします>

Aベストアンサー

>エクセル初心者なのでよく分かりません。

ご存じの通り、エクセルには計算、集計などなどに便利なように約250~340の関数が用意されています。
通常は、この中から目的に合った関数を使用します。 用意されたものにない場合は自分用の関数も作成し使用することもできます。 これでも解決できない場合は、VBAというプログラム言語(マクロはこの一部)を使用して解決できます。


>なぜにIF関数を使うのか

このケースで、なぜにIF関数を使ったかというと、時間の引き算をする時にマイナスになると正しく表示してくれないことと、簡単で分かりやすい関数であることであるからです。


>B2-A2<0の意味
>,を挟んでの3つの式の必要性を教えてもらえないでしょうか?

各関数には、それぞれ固有の書式というものが設定されています。 これに従って値を設定しないと正しい答えは得られません。 この書式はエクセルのヘルプに書かれていますのでそれに従います。

IF関数の書式は、次の通りです。 (通常のエクセル用)

  IF(論理式[,真の場合][,偽の場合])    [ ]の部分は省略可能という意味

となっています。

  =IF(B2-A2<0,B2+1-A2,B2-A2)

論理式は、「B2-A2<0」で意味は、もしセル"B2"の値から"A2"の値を引いた結果が「負」であったならば...
真の(負の数である)場合は、セル"B2"の値に「1」を加えてから"A2"の値を引いた結果を表示する。
偽の(0または正の数である)場合は、そのままセル"B2"の値から"A2"の値を引いた結果を表示する。

なお、エクセルのヘルプには大きく分けて2種類のヘルプがあります。 通常のエクセルのシートを開いている状態で見るヘルプはエクセル一般のヘルプです。 VBエディターからのヘルプは、VBA用で内容が違っています。

エクセルも結構奥が深いのでどこまで勉強したらよいかというのはありません。 何か疑問に思った時に人に聞く程度でしたら、数年たっても実用に適すだけの知識、技量は得られません。
特に会社での日常業務でエクセルを使うのであれば、最低数種類の参考書籍を購入して、毎日眺めながら、少しづつでも取り組み利用していくことを強く勧めます。 皆さんそうしています。 

関数1つづつ制覇していくのは仕事もはかどるし楽しいものですよ。 頑張ってください。

>エクセル初心者なのでよく分かりません。

ご存じの通り、エクセルには計算、集計などなどに便利なように約250~340の関数が用意されています。
通常は、この中から目的に合った関数を使用します。 用意されたものにない場合は自分用の関数も作成し使用することもできます。 これでも解決できない場合は、VBAというプログラム言語(マクロはこの一部)を使用して解決できます。


>なぜにIF関数を使うのか

このケースで、なぜにIF関数を使ったかというと、時間の引き算をする時にマイナスになると正...続きを読む

Q60進数と10進数の足し算について

エクセルの計算式で整数部分を10進数、小数部分を60進数と分離して足し算する方法はないでしょうか?
例えば1.30+1.30は3.00、1.45+2.15.1.30は5.30というように答えを足したいのですが。
どなたかご教授お願いします。

Aベストアンサー

マクロを使った計算です。小数点以下は2桁しか無いものと仮定します。
Function sump60(ParamArray InDt() As Variant)
Dim mySeisu As Long, myShosu As Long
Dim Ix As Long
Dim WrkJ, WrkK

For Each WrkJ In InDt
  If IsNumeric(WrkJ) Then
    mySeisu = mySeisu + Int(WrkJ)
    myShosu = myShosu + (WrkJ - Int(WrkJ)) * 100
  End If
  If IsArray(WrkJ) Then
    For Each WrkK In WrkJ
      mySeisu = mySeisu + Int(WrkK)
      myShosu = myShosu + (WrkK - Int(WrkK)) * 100
    Next WrkK
  End If
Next WrkJ
mySeisu = mySeisu + Int(myShosu / 60)
myShosu = myShosu Mod 60
sump60 = mySeisu + myShosu / 100
End Function

使用方法は、計算したいデータがA1,A2,A3セルに入力されているとして、
=sump60(A1,A2,A3)
または
=sump60(A1:A3)
あるいは直接値を指定します。(必ずコンマで区切って下さい。)
=sump60(1.45,2.15,1.30)

マクロを使った計算です。小数点以下は2桁しか無いものと仮定します。
Function sump60(ParamArray InDt() As Variant)
Dim mySeisu As Long, myShosu As Long
Dim Ix As Long
Dim WrkJ, WrkK

For Each WrkJ In InDt
  If IsNumeric(WrkJ) Then
    mySeisu = mySeisu + Int(WrkJ)
    myShosu = myShosu + (WrkJ - Int(WrkJ)) * 100
  End If
  If IsArray(WrkJ) Then
    For Each WrkK In WrkJ
      mySeisu = mySeisu + Int(WrkK)
      myShosu = myShosu + (...続きを読む

Q時間を100進法であらわしたい。

勤務先で勤務時間を100進法で表さなくてはいけなくなったのですが、私は数学が大の苦手のためどのように計算すればいいのかわかりません。例えば、働いた時間が7時間10分や40分の場合などの「分」の計算の仕方がわかりません。7時間55分は7、92と現すということだけはわかるのですが、その他は全然わかりません。どうかよろしくお願い致します。

Aベストアンサー

給与計算の根拠となる勤務時間の処理ですね。

数学で「100進法」というと、“1桁繰り上がると100倍になる”という意味になりますので、この場合は違ってきます。

ご質問の例から類推して、より正確に表現するなら、「時間を、【時間】と【分】で表さず、小数第2位までの【時間】として表す」だと思います。

更に、給与計算の根拠として、端数処理をどうするかが定められていると思います。例えば“1分単位で切り捨てて、小数第3位を四捨五入”だとしてみます。

1時間=60分なので、
7時間55分=7時間+(55÷60)時間
      ≒7.91666666…時間
小数第3位の6を四捨五入すると、繰り上がって、
答:7.92時間

同じようにして、2時間35分なら、
2時間35分=2時間+(35÷60)時間
      ≒2.58333333…時間
小数第3位の3を四捨五入すると、切り捨てになって、
答:2.58時間

計算方法はお勤め先で決められていることと思います。上の例と違う職場もあります。“15分単位で切り捨てる(端数は0.25単位)”や“5分単位で~”などです。

給与計算の根拠となる勤務時間の処理ですね。

数学で「100進法」というと、“1桁繰り上がると100倍になる”という意味になりますので、この場合は違ってきます。

ご質問の例から類推して、より正確に表現するなら、「時間を、【時間】と【分】で表さず、小数第2位までの【時間】として表す」だと思います。

更に、給与計算の根拠として、端数処理をどうするかが定められていると思います。例えば“1分単位で切り捨てて、小数第3位を四捨五入”だとしてみます。

1時間=60分なので、
7時間...続きを読む

QExcelの計算で、分の合計を『~時間~分』に置き換える方法を教えて下

Excelの計算で、分の合計を『~時間~分』に置き換える方法を教えて下さい!

例 30
   50
   60
   140 ←上の数字の合計です。この部分を『~時間~分』に置き換えたいです。

よろしくお願いします。

Aベストアンサー

 =TEXT(140/1440,"h時間m分")

分の数値が整数なら1440で割ってシリアル値に直せば普通に時間として表示できます。
TEXT関数を使わなくてもセルの書式設定で可能ですよ。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング