電子書籍の厳選無料作品が豊富!

A1=123
A2=456
A3=7890
という桁数の違う数字がセル内にある時、B行に千の位、C行に百の位、D行に十の位、E行に一の位⇒ 
B1=空白 C1=1 D1=2 E1=3
B2=空白 C2=4 D2=5 E2=6
B3=7 C3=8 D3=9 E3=0
と他のセルに表示させたいのですが…、関数MIDを使用すると桁数が違う為、うまくいきません。何か方法があれば教えて下さい。よろしくお願いします。

A 回答 (3件)

#1,2です。



「ちなみに""の間に半角スペースを入れなくても上手くできたのですが、このスペースにはどのような意味合いがあるのでしょうか?」
RIGHT(" "&A1,4)
この式は文字列を必ず右から4桁取ってくるためのものです。
一桁でも有効になるように半角スペースを3個追加しています。
例えば、(○←スペースを表すとします。)
123
の時にスペースを3個足して
○○○123
とし、右から4文字持ってくれば、必ず
○123
になります。
はじめから4桁の時は
○○○7890
の右から4桁なので、影響有りません。
2桁の時は同じように
○○○12
の右から4桁持ってくるので
○○12
になります。
必ず右詰4桁に出来れば、後は簡単でしょう。
    • good
    • 0

#1です。



見づらくなってしまいました。

" "の中は半角スペースが3個入っています。

この回答への補足

さきほどお礼の欄に「""の間に半角スペースを入れなくても上手くできた」と記載しましたが、コピーで行ったので、スペースは入力されていました。すいません。

補足日時:2008/11/15 13:24
    • good
    • 0
この回答へのお礼

さっそく行ってみたところ見事にできました。とても時間をかけて悩んでいたので大変助かりました。ありがとうございます。
ちなみに""の間に半角スペースを入れなくても上手くできたのですが、このスペースにはどのような意味合いがあるのでしょうか?入れないと今後不具合がでてきますか?

お礼日時:2008/11/15 13:00

一つの案ですが、文字列を強制的に4文字にします。


このとき、1桁から4桁の文字に対応するために
RIGHT(" "&A1,4)
としましょう。
そうすると、
B1=LEFT(RIGHT(" "&A1,4),1)
C1=MID(RIGHT(" "&$A1,4),2,1)
D1=MID(RIGHT(" "&$A1,4),3,1)
D1=MID(RIGHT(" "&$A1,4),4,1)
又は、
D1=RIGHT(A1,1)
として下にコピーすればOKです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!