• 締切済み

Excelでの尺貫法の度量衡換算

尺貫法で書かれた距離(1里12町3間など)をメートル法の数値に変換したいのですが、CONVERT関数では尺貫法には未対応のようで、単位換算できませんでした。 どのようにすればよいでしょうか?

みんなの回答

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

#02です。ありゃ、変換方向が逆でしたね 1里12町3間ならば =3927 * 1 + 109.08 * 12 + 1.818 * 3 でおよそのメートル表記になりますね。

akinoyoh
質問者

お礼

回答ありがとうございます。 やり方は理解していても、それを式の形にするのは難しいですね。 なお、No.1のお礼の欄に書いた式よりもスマートな方法があるかもしれませんので、2・3日待ってから質問を閉じようと思います。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

一寸≒3.03cm〈曲尺〉 一尺≒3.03cm 一間(6尺)≒1.818m 一町(60間)≒109.08m 一里(36町)≒3927m だそうですから、A1にメートルで表す距離が入力されたとき、以下の式でそれぞれ求めることができますが、寸以下の端数は出していません。 里 =INT(A1/3926.88) 町 =INT(MOD(A1,3926.88)/109.08) 間 =INT(MOD(A1,109.08)/1.818) 尺 =INT(MOD(A1,1.818)/0.303) 寸 =INT(MOD(A1,0.303)/0.0303) ちなみに10001mは 2里19町41 間0尺6寸になります。

  • NCU
  • ベストアンサー率10% (32/318)
回答No.1

1尺=(10/33)メートル(約30.3cm)だそうですから、 =[尺単位の値]*10/33 でよろしいかと。 その他は所定の値を掛けて調整してください。 (参考URL)

参考URL:
http://ja.wikipedia.org/wiki/%E5%B0%BA%E8%B2%AB%E6%B3%95
akinoyoh
質問者

お礼

手計算ではなく、エクセルでの計算式を示していただきたかったのですが、なんとか下のような式を作って解決しました。 回答ありがとうございました。 =(((IF(ISERROR((FIND("里",A1))),0,LEFT(A1,(FIND("里",A1))-1))*36*60)+(IF(ISERROR((FIND("町",A1))),0,MID(A1,(IF(ISERROR((FIND("里",A1))),0,(FIND("里",A1))))+1,(FIND("町",A1))-(IF(ISERROR((FIND("里",A1))),0,(FIND("里",A1))))-1))*60)+(IF(ISERROR((FIND("間",A1))),0,IF(ISERROR((FIND("町",A1))), MID(A1,(FIND("里",A1))+1,(FIND("間",A1))-(FIND("里",A1))-1),MID(A1,(FIND("町",A1))+1,(FIND("間",A1))-(FIND("町",A1))-1)))))*1.8182) なおセルA1には、元の数値(1里12町3間等)が入っているという前提で、また尺・寸については無視しています。

関連するQ&A