• ベストアンサー

エクセルでセルのややこしい書式設定と計算をしたいです

エクセルで次のようなスプレッドシートを作りたいのですがヘルプ等を見てもうまくいきません。どうしたらよいでしょうか? A列を表示用、B列、C列を入力用、D列を計算用にしたいです。 A列はセルの書式設定でユーザー定義を変えればよさそうな気がしますが・・・ またD列の計算はC列のセルの内容を分けないとできないでしょうか? ◎-はマイナスではなくハイフンです ◎C列は数値では3桁のうち左2桁の単位は32分の1、右1桁の単位がは8分の1/32です。 A列    B列   C列    D列で計算させたいもの 96-316  96   316    =96+31/32+6/8/32 (答え96.9921875)  100-01  100   01     =100+1/32+0/32(答え100.03125) どうかご教授ください。 よろしくお願い申し上げます。

質問者が選んだベストアンサー

  • ベストアンサー
  • RiRiEL
  • ベストアンサー率53% (1140/2129)
回答No.3

こんばんは。 >A列はセルの書式設定でユーザー定義を変えればよさそうな気がしますが・・・ 以下のように入力しましょう。  =B1&"-"&TEXT(C1,"00") >D列の計算はC列のセルの内容を分けないとできないでしょうか? 質問にあった「D列で計算させたいもの」をこのように当てはめてみました  =B1+LEFT(C1,2)/32+IF(C1>=100,RIGHT(C1,1),0)/8/32 あと、以下の作業を忘れずに ●C列の「表示形式」に「ユーザー定義」であらたに00を作る ●最初の列で作った計算式を必要な列までコピーする これで試してみてください。

ubermensch
質問者

お礼

ありがとうございます。 確かにif関数でもC列を分けなくて済みますね。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

入力の手間を省きたいのでしょうが、質問者のように考えるのは邪道と思います。 回答そのものは内容は易しいですが。(C列の扱いの意味が判りにくいが) 回答者回答はしてくれるで、それでよいと思うでしょうが。 A列は文字列に書式を設定し96-316、100-001 データはB列は 96, 100 C列は31,1 D列には6,0 のように素直に入力すべきです。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

>◎C列は数値では3桁のうち左2桁の単位は32分の1、右1桁の単位がは8分の1/32です。 質問を式に変えると、 2つ目の例で、c列が2桁ですが、010の3桁の間違いだったとして D列は =(B11*1)+LEFT(C11,2)/32+RIGHT(C11,1)/8/32 で、下フィルでは

ubermensch
質問者

お礼

ありがとうございます。 LEFT関数とRIGHT関数も初めて知りました・・・

  • S-Fuji
  • ベストアンサー率36% (592/1624)
回答No.1

C列への入力を必ず3桁にして行うようにすれば比較的簡単です。 C列の「セルの書式設定」「ユーザー定義」で「000」にしておきましょう A列 =B1&"-"&C1 D列 =B1+INT(C1/10)/32+MOD(C1,10)/8/32 後は必要分下方向へコピー

ubermensch
質問者

お礼

ありがとうございます。 C列を分けなくてもできるんですね。 INT関数とMOD関数は初めて知りました。

関連するQ&A

専門家に質問してみよう