- 締切済み
エクセル関数で千の位とかの数値を取得するには?
算用数字を、セルに入力して、 その金額の、一の位、十の位 百の位…のそれぞれの数値を個別に取得することが出来る関数はありますか?
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
LEFT、MID、RIGHT 関数で取り出した数は文字列となります。文字列ですが、「*1」などと四則演算などの計算をすれば、すぐに数値に変化します。 始めから数値として求めるためには、上の関数を使った数式に「*1」などを混ぜるか、次のような別の関数を用います。 =mod(int(a1/10^3),10) あるいは =int(mod(a1/10^3,10)) あるいは =int(mod(a1,10^4)/10^3) ※いずれも 1000 の位を抜き出す場合
- KURUMITO
- ベストアンサー率42% (1835/4283)
A2セルに数値が入力されているとしてB2セルには1の位、C2セルには10の位、D2セルには100の位・・・・と横に表示させるとしたらB2セルには次の式を入力して右横方向にドラッグコピーします。 =IF(COLUMN(A2)>LEN($A2),"",INT(MOD($A2/10^(COLUMN(A2)-1),10))) 勿論、例えば100の位の数値を求めるのでしたら次の式で良いでしょう。 =INT(MOD($A2/100,10))
お礼
なるほど。 とにかく、式を入れて一度試してみます。 お礼が遅くなって済みません。 有難うございました。 参考にさせて頂きます。
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
A列:問題の数値データ 1行目:B1~に位を表す数値(10のべき乗:例えば、10000、1000、100、10、1) 2行目:お答え B2: =RIGHT(INT($A$2/B$1),1) B2は右方向にコピー A列のデータの数に合わせて、まとめて下右方向にもコピー
お礼
どうも早々に感謝です。 お礼が遅くなって済みません。 有難うございました。 参考にさせて頂きます。
- shintaro-2
- ベストアンサー率36% (2266/6245)
#1さんの方法が素直ですが、 いろいろなやり方があって、 A1に数値があるとしたら、 1の桁は、right(a1,1) 10の桁は、right(int(a1/10),1) 100の桁は、right(int(a1/100),1) としても可能です。
お礼
どうも早々に感謝です。 お礼が遅くなって済みません。 有難うございました。 参考にさせて頂きます。 取り敢えず、いろいろご回答者様の方法を 試してみます。
- keithin
- ベストアンサー率66% (5278/7941)
A1セルにとりあえず最大10ケタの整数(小数点以下が無い数字)を記入することにして >数値を個別に取得することが出来る関数 どういう具合に表示したいのか不明なので、とりあえずB1セルから右に10ケタ分「右詰」で数字を並べることにして B1に =MID(TEXT(A$1,"0000000000"),COLUMN(A1),1)*1 と記入して右にコピー または =MID(TEXT(A$1,"??????????"),COLUMN(A1),1) と記入して右にコピー
お礼
どうも早々に感謝です。 お礼が遅くなって済みません。 有難うございました。 参考にさせて頂きます。
お礼
まったく新しい関数が出てきて驚いております。 エクセルで作成した銀行用伝票に1桁ずつ入れたいので、 どれが一番適しているか試してみます。 どうも早々に感謝です。 お礼が遅くなって済みません。 有難うございました。 参考にさせて頂きます。
補足
ご回答頂いた皆様にお尋ねしますが、 伝票の最後に「¥」をつけないとならないのですが、 自動的に、最上桁の次のセルが「自分」だと判断して、 自動的に、次のセルだけが、「¥」を表示させるようにする式を作成することは可能でしょうか? これが大変難しいと思うのですが・・・不可能かも???