• ベストアンサー

Excelで、1の位、10の位・・・を出す

例えばA1に23000と入力されていて、A2から横に用意されている7個のセルに1桁ずつA1から読み取った数字を、A2=空白、B2=空白、C2=2、D2=3、E2=0、F2=0、G2=0、と位ごとに出したい事です すみませんがよろしくお願いします

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

以下の式を、A2セルにコピペして、そのままG2までドラッグして式をコピーしてみてください。 =IF(LEN($A$1)<8-COLUMN(A2),"空白",LEFT(RIGHT($A$1,8-COLUMN(A2)),1))

jobvba
質問者

お礼

こんな短い書き方で出来るとは思いませんでした・・・ ありがとうございました!

その他の回答 (4)

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

A1に数字を入れる。 B1に =IF(10-COLUMN()>=LEN($A$1),"",MID($A$1,COLUMN()-LEN($A$1),1)) と入れてC1より右に式を複写する。 過去に同じような質問がありその回答ですが、既回答と同じだったらすみません。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

A2に =MID(REPT(" ",7-LEN($A$1))&$A$1,COLUMN(),1) または、 =MID(REPT(" ",7-LEN($A$1))&$A$1,COLUMNS($A$2:A$2),1) と入力して横にコピー

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

A2=TRIM(MID(TEXT(A1,"???????"),COLUMN(A2),1)) でG2までコピーする。

  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.2

えー……ものすごく「汚い」方法ですが、A2から順に =IF(INT(A1/1000000)=0,"",INT(A1/1000000)) =IF(INT(A1/100000)=0,"",IF(INT(A1/1000000)=0,INT(A1/100000),INT(A1/100000)-INT(A1/1000000)*10)) =IF(INT(A1/10000)=0,"",IF(INT(A1/100000)=0,INT(A1/10000),INT(A1/10000)-INT(A1/100000)*10)) =IF(INT(A1/1000)=0,"",IF(INT(A1/10000)=0,INT(A1/1000),INT(A1/1000)-INT(A1/10000)*10)) =IF(INT(A1/100)=0,"",IF(INT(A1/1000)=0,INT(A1/100),INT(A1/100)-INT(A1/1000)*10)) =IF(INT(A1/10)=0,"",IF(INT(A1/100)=0,INT(A1/10),INT(A1/10)-INT(A1/100)*10)) =IF(INT(A1/1)=0,"",IF(INT(A1/10)=0,INT(A1/1),INT(A1/1)-INT(A1/10)*10)) で「一応」できます。

jobvba
質問者

お礼

INTは思いつきませんでした・・・ ありがとうございました!

関連するQ&A