- ベストアンサー
Excelの計算式
Excelでお米の表を作ったのですが、お米の俵数の合計を出したいので計算式を教えてください。ちなみに"1俵(72.156ℓ)=4斗=40升"は分かっています。 A1 1俵2斗6升 A2 1俵3斗5升 合計 3俵2斗1升 になるような計算式を作りたいのですけど。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
10進数に変換して合計、再度俵に直したいところですが、単位を変換するCONVERT()関数は俵には対応していませんね。 自分で関数を組んでユーザ定義関数に登録する方法もありますが、それなりの知識が必要です。私は詳しくないのでパス。 一つのセルに1俵2斗6升と書くのではなく、桁ごとにセルに分けて表記した方が変換しやすいです。
その他の回答 (2)
- gutoku2
- ベストアンサー率66% (894/1349)
仕組みの説明は割愛します。 下記前提条件で問題がなければ、目的を達成できます。 A列に俵を入力、B列に斗を入力、C列に升を入力する。 入力できるのは、11行までとする(11のデータを加算可能) H12セルに目的(加算後)の 俵斗升 を表示する。 上記の前提条件で、ExcelのSheetに下記を入力してください。 (下記に記載した通り、セルに入力) A12 =SUM(A1:A11) B12 =SUM(B1:B11) C12 =SUM(C1:C11) D12 =C12+B12*10+A12*10*4 E12 =IF(QUOTIENT(D12,10*4)=0,"",QUOTIENT(D12,10*4)) F12 =IF(QUOTIENT(MOD(D12,10*4),10)=0,"",QUOTIENT(MOD(D12,10*4),10)) G12 =IF(MOD(MOD(D12,10*4),10)=0,"",MOD(MOD(D12,10*4),10)) H12 =E12&IF(E12="","","俵")&F12&IF(F12="","","斗")&G12&IF(G12="","","升") 使用方法:A1セル~C11セルに任意の数字を入力すると、H12セルに加算結果が表示される。 ※2俵0斗3升の場合は、2俵3升と表示するように設定してあります。
- saruneko
- ベストアンサー率31% (17/54)
Excelには詳しくないので、フローチャートを示します。 1俵2斗6升のことを(1,2,6)と表すことにしましょう。 とすると(1,2,6)+(1,3,5)=(2,5,11) =(2,6,1) =(3,2,1) となりますよね。 ここの計算は手計算ではできるけども、Excelで瞬時に計算できる計算式を作りたいということですね。 ここで(A,B,C)をそれぞれAの位、Bの位、Cの位と呼ぶことにします。 とするとCの位の10とBの位の1が等しくなりますね。 つまりCの位の数が10になったらCの位を0にしてBの位を1増やしたらいいわけです。 同様にBの位の4とAの位の1が等しくなります。 もともとの入力を(A,B,C)とします。 (1)Cの位の値が10以上である→(A,B,C)=(A,B+1,C-10) Cの位の値が10未満である→Cの位は終わり この操作をCの位の値が10未満になるまでくり返す。 (2)Bの位の値が4以上である→(A,B,C)=(A+1,B-4,C) Bの位の値が4未満である→Bの位は終わり この操作をBの位の値が4未満になるまでくり返す。 こんな感じで関数を設定してみたらいかがでしょうか。
お礼
大変よくわかりました。 この方法だと合計が最終的に一つのセルにまとまるので仕上がりもきれいです。有り難うございました。 皆さんにご協力いただいて感謝しています。