- ベストアンサー
数値を桁ごとに分割したい
数値を伝票のマス目のように、1桁ずつ分割して表示したいのですが、どのように関数を組み合わせたら、よろしいか教えてください。(特に分割する桁数が一定でない場合)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ソフトは何でしょう? Excelでしょうか?その前提で書きますが。。 ●セルの書式設定を使う方法 セルの書式設定で、 ユーザー定義を選び、種類のところに、たとえば、 #### ## ### ### 必要な桁数分、半角の#を並べ 分割する場所にスペースを空けると 一つのセルの中で、数字がとぎれとぎれに表示されます。 ●文字列としてセルを分割して表示する方法 まず数字を文字列化します。 数字はtext関数で文字列になりますが、 桁数が小さい数値が入る場合を考え、頭に空白を付け right関数で必要桁数分を取り出します。 =RIGHT("<必要な桁数分の空白>"&TEXT(<数値セル>,"########"),<必要な文字列長さ>) あとは各セルにmid関数で取り出せばいいと思います。
その他の回答 (2)
- SAKURAMYLOVE
- ベストアンサー率30% (162/533)
伝票のマス目とは各セルごとに値を当てはめると言うことでしょうか。 それを前提に回答します。 条件として、A2にもとの正の整数値が入っており、桁数は最大12桁として、A2からM2まで右詰めで分割表示してこととします。 (1)B1=1、C1=2、D1=3、E1=4・・・L1=11、M1=12と1~12の数値をB1からM1まで入力します。 (2)B2=IF(LEN($A2)-12+B$1<=0,"",MID($A2,LEN($A2)-12+B$1,1))を入力し、B2をC2からM12まで、コピー貼り付けします。 (3)値の入力されている行までB2からM12をコピーし、必要行まで貼り付けていきます。 これで、B2からM2まで、右詰でA2の値が分割表示されます。(カンマ区切りがあっても支障はありません)
- marbin
- ベストアンサー率27% (636/2290)
桁数を考えられる最大で10桁とすると、 A1に数値を入れ、B1に =mid(text($a1,"??????????"),column(b1),1) B1の式をコピー、コK1まで貼り付けではいかが? 桁数が増える場合は、? の数を増やせばいいです。 (?の数は桁数分必要です。)