• 締切済み

EXCELについてご指導願います

一つのセルに4桁の数字が入力されています。 その数字を桁ごとに、四つのセルに分割して入力したいのですが、 一番効率の良い手法を教えて頂けませんでしょうか。

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 元の数値の桁数が4桁未満の場合は右詰で表示し、小数点以下の桁がある場合には小数点以下第一位を四捨五入した値で表示し、負の数である場合にはマイナス記号を付けて表示する方法です。  今仮に、元の数値がA1セルに入力されていて、1の位をE1セルに、10の位をD1セルに、100の位をC1セルに、1000の位をB1セルにそれぞれ表示するものとします。  まず、E1セルに次の様な関数を入力して下さい。 =IF(ISNUMBER($A1),IF(COLUMNS(E:$E)<=LEN(ROUND($A1,0)),IF(ISNUMBER(MID($A1,LEN(ROUND($A1,0))-COLUMNS(E:$E)+1,1)+0),MID(ROUND($A1,0),LEN(ROUND($A1,0))-COLUMNS(E:$E)+1,1)+0,MID($A1,LEN(ROUND($A1,0))-COLUMNS(E:$E)+1,1)),""),"")  そして、E1セルをコピーして、B1~D1の範囲に貼り付けて下さい。  これで、1の位がE1セルに、10の位がD1セルに、100の位がC1セルに、1000の位がB1セルにそれぞれ表示されます。  但し、元の数値が4桁の負の数である場合には、マイナス記号を表示させるには5個のセルが必要になりますから、B1~E1の4個のセルでは表示させるセルの個数が不足して、このままでは先頭に来るマイナス記号を表示出来ませんので、もし、4桁の負の数を表示させる事もある場合には、1の位はE1セルではなくF1セルに表示し、下から5桁目をB1セルに表示する様にしなければなりません。  ですから、4桁の負の数を表示させる事もある場合には、F1セルに次の様な関数を入力してから、F1セルをコピーして、B1~E1の範囲に貼り付けて下さい。 =IF(ISNUMBER($A1),IF(COLUMNS(F:$F)<=LEN(ROUND($A1,0)),IF(ISNUMBER(MID($A1,LEN(ROUND($A1,0))-COLUMNS(F:$F)+1,1)+0),MID(ROUND($A1,0),LEN(ROUND($A1,0))-COLUMNS(F:$F)+1,1)+0,MID($A1,LEN(ROUND($A1,0))-COLUMNS(F:$F)+1,1)),""),"")

twist0011
質問者

お礼

お忙しい中、有り難うございます。 早速処理させて頂きました。

すると、全ての回答が全文表示されます。
  • chonami
  • ベストアンサー率43% (448/1036)
回答No.4

あ、ごめんなさい。 E1までコピーね。

すると、全ての回答が全文表示されます。
  • chonami
  • ベストアンサー率43% (448/1036)
回答No.3

A1に入っている数値をB1からD1に分割するとして、 B1=MID($A$1,COLUMN(A1),1) D1までコピー。 ただし、数字が3桁以下なら左詰で表示されます。

twist0011
質問者

お礼

お忙しい中、有り難うございます。

すると、全ての回答が全文表示されます。
  • yosifuji20
  • ベストアンサー率43% (2675/6115)
回答No.2

元の4桁の数字がA4から下にある。 1ケタの数字はB4:E4から下にある。 とします B3:E3に1,2,3,4の値を入れておきます。 これでB4に下記の式を入れます B4=VALUE(MID($A3,B$2,1)) この式をB4:E4から下に必要な行だけコピー、貼り付けをしておきます。 これでご希望の値が出ます。 この式の良いのはすべてB4と同じ式でよいということです。 コツは式の絶対番地の指定($)の使い方です。 ただしこの式では1桁目がゼロの場合は正しく表示できません。 その場合の式はお考えください

twist0011
質問者

お礼

お忙しい中、有り難うございます。

すると、全ての回答が全文表示されます。
  • KEIS050162
  • ベストアンサー率47% (890/1879)
回答No.1

入力と表示を同じシートでこなすのは難しいので、それぞれの場合について考えてみます。 ■4桁の数値を4つのセルに桁ごとに表示する方法 A1が4桁の数値で、A2~A5に千、百、十、一の位が表示される。 A2 : =INT(mod(A4,10000)/1000 A3 : =INT(mod(A4,1000)/100) A4 = INT(mod(A4,100)/10) A5 : =mod(A4,10) ■一~千の位をそれぞれ入力して、4桁の数値を一つのセルに表示する方法 A2~A5に千、百、十、一の位を入力し、A1に4桁の数値が表示される。 A1 : = A2*1000+A3*100+A4*10+A5 ご参考に。

twist0011
質問者

お礼

お忙しい中、有り難うございます。

すると、全ての回答が全文表示されます。

関連するQ&A