• ベストアンサー

Excelで任意の位の数字を取り出すことは出来ますか

例えば、A1のセルに1234という数字が入っていたとして B1に千の位(この場合は1)  B2に百の位(2) B3に十の位(3) B4に一の位(4) と言う風に任意の位の数字を取り出すような関数または 数式はありますでしょうか?

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

  • ベストアンサー
  • izmlz
  • ベストアンサー率55% (67/120)
回答No.4

100の位: =INT(MOD(SIGN(A1)*A1/100,10)) のようにします。マイナスの数値にも対応しています。詳しくは↓をご覧ください。 エクセル技道場-指定した桁の数字を返すには? http://www2.odn.ne.jp/excel/waza/function.html#SEC71

参考URL:
http://www2.odn.ne.jp/excel/waza/function.html#SEC71
kimi28
質問者

お礼

参考URLも拝見しました。 ありがとうございました。 今回はこちらを利用させていただきました。

その他の回答 (5)

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.6

◆少し質問の内容とは異なりますが      A   B   C   D   E 1   1234   1   2   3   4 2    567       5   6   7 3    89           8   9 B1=LEFT(RIGHT(" "&$A1,4-COLUMN(A1)+1)) ★右と下にコピー

kimi28
質問者

お礼

非常に参考になりました。 今回は間に合わなかったのですが、 次回はmaron--5様の教えてくださった方法を 利用してみたいと思います。

noname#204879
noname#204879
回答No.5

B1: =MID(A$1,ROW(A1),1)

kimi28
質問者

お礼

ありがとうございました。 ちょっと自分の思っていたものとは違っていたようですが 参考になりました。

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.3

文字としてなら、 B1: =IF(LEN($A$1)>=ROW(),MID($A$1,LEN($A$1)-ROW()+1,1),"") として、下にフィル。 数値としてなら、 B1: =IF(LEN($A$1)>=ROW(),VALUE(MID($A$1,LEN($A$1)-ROW()+1,1)),"")として、下にフィル。

kimi28
質問者

お礼

ありがとうございました。 参考になりました。

noname#77517
noname#77517
回答No.2

そのものズバリの関数はありませんので、数式や関数を組み合わせて 作るしかないと思います。いろいろなやり方が考えられますが、元の 数字を文字列として、mid関数を使って取り出す方法を紹介します。 B1: =value(mid(A1,1,1)) B2: =value(mid(A1,2,1)) B3: =value(mid(A1,3,1)) B4: =value(mid(A1,4,1)) mid関数だけだと文字列で返されるので、value関数で数値に戻して います。他に、少し複雑にはなりますが、四則演算とint関数などを 組み合わせてもできるでしょう。

kimi28
質問者

お礼

数値に戻す方法など非常に参考になりました。 ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 任意という点が不明ですが、B1に=MID($A$1,COLUMN(A1),1)*1を設定、右方向にコピーで如何でしょうか。

kimi28
質問者

お礼

ありがとうございました。 参考になりました。

関連するQ&A