アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になります。
昨日、MID関数等で、1つのセルに入力されている情報を1文字ずつセルに入力する方法を知ったのですが、それを右詰めにする方法はありますでしょうか。

例;Sheet1に、6ケタまでの数値を入れるセルがあります。
これをSheet2のA1~F1のセルに1字ずつ入れたいのですが、Sheet1に"1000"と入れた場合、Sheet2のセルA1~F1には
A1=(空白),B1=(空白),C1="1",D1="0",E1="0",F1="0"
という形にしたいのです

以上宜しくお願い致します。

A 回答 (5件)

こんにちは。

maruru01です。

数値限定で。
Sheet2のA1に、

=MID(TEXT(Sheet1!$A$1,REPT("?",6)),COLUMN(A1),1)

と入力して、右へコピーします。
ちなみに、この数式だと数字がない桁は空白ではなく半角スペースが入ります。
もし、半角スペースも入れたくないなら、

=TRIM(MID(TEXT(Sheet1!$A$1,REPT("?",6)),COLUMN(A1),1))

とTRIM関数を通して下さい。

また、最大桁数が変わる場合は、数式中の「6」を任意に変更して下さい。
    • good
    • 1
この回答へのお礼

いつもお世話になります。
お礼が遅くなりまして申し訳ございません。

ありがとうございました。
おかげさまで問題解決しました。

お礼日時:2004/12/27 13:48

(データ)


12345
234
1345
34
(関数式)
B1に =MID(REPT(" ",6-LEN($A1))&$A1,COLUMN()-1,1)
といれ、G1まで式を複写する。
B1:G1を範囲指定して、G1で+ハンドルを出し
最下行まで複写する。
(結果)
12345
234
1345
34
    • good
    • 0
この回答へのお礼

いつもお世話になります。
お礼が遅くなりまして申し訳ございません。

ありがとうございました。
おかげさまで問題解決しました。

お礼日時:2004/12/27 14:04

Sheet1のA1に6桁を入力なら


【数式_半角スペース】
A1=MID(TEXT(Sheet1!A1,"??????"),1,1)
B1=MID(TEXT(Sheet1!A1,"??????"),2,1)
C1=MID(TEXT(Sheet1!A1,"??????"),3,1)
D1=MID(TEXT(Sheet1!A1,"??????"),4,1)
E1=MID(TEXT(Sheet1!A1,"??????"),5,1)
F1=MID(TEXT(Sheet1!A1,"??????"),6,1)
Sheet1のA1をまず6桁であると認識させるのに、「TEXT」関数を使っています。
「"000000"」とすると、1000のまえの未入力部分は「0」になり、
「"??????"」とすることで、「 (半角スペース)」にすることが出来ます。
「?」の数を変えれば、10桁でも、4桁でも対応可能です。

【数式_空白】
また、「 (半角スペース)」ではなくNull値(空白)が良ければ、

A1=TRIM(MID(TEXT(Sheet1!A1,"??????"),1,1))
B1=TRIM(MID(TEXT(Sheet1!A1,"??????"),2,1))
C1=TRIM(MID(TEXT(Sheet1!A1,"??????"),3,1))
D1=TRIM(MID(TEXT(Sheet1!A1,"??????"),4,1))
E1=TRIM(MID(TEXT(Sheet1!A1,"??????"),5,1))
F1=TRIM(MID(TEXT(Sheet1!A1,"??????"),6,1))
でOKです。
「TRIM」関数で、「 (半角スペース)」を消しています。

【補足】
Sheet1のA1は数値との事ですのでこれでOKですが、もし、A1が文字列の場合、「0100」と入力する場合も考えられます。このように入力すると、左から最初に「1」以上の数が出るまでは、「 (半角スペース)」になります。TRIMを使えば、「空白」です。
「0100」⇒「 100」
    • good
    • 0
この回答へのお礼

いつもお世話になります。
お礼が遅くなりまして申し訳ございません。

ありがとうございました。
おかげさまで問題解決しました。

お礼日時:2004/12/27 13:48

処理する文字列を


" "&sheet1!A1

空白2つ
にすれば良いだけのように思いますが
    • good
    • 0
この回答へのお礼

いつもお世話になります。
お礼が遅くなりまして申し訳ございません。

セルの中に入れる数値が最大6ケタでも、5ケタや3ケタの場合もあるので、残念ながらいただいたお答えでは処理が出来ませんでした。
ですが、他の方々からのお答えで、問題解決しました。

ありがとうございました。

お礼日時:2004/12/27 13:55

Sheet1のA1に6桁以下の数値が入っているとします。


べたな書き方だと以下のようになります。10桁とかになればもう少し工夫しますけどね。

A1 = IF(LEN(Sheet1!A1) < 6, "", MID(A1,LEN(Sheet1!A1)-5,1))
B1 = IF(LEN(Sheet1!A1) < 5, "", MID(A1,LEN(Sheet1!A1)-4,1))
C1 = IF(LEN(Sheet1!A1) < 4, "", MID(A1,LEN(Sheet1!A1)-3,1))
D1 = IF(LEN(Sheet1!A1) < 3 "", MID(A1,LEN(Sheet1!A1)-2,1))
E1 = IF(LEN(Sheet1!A1) < 2 "", MID(A1,LEN(Sheet1!A1)-1,1))
F1 = IF(LEN(Sheet1!A1) < 1 "", MID(A1,LEN(Sheet1!A1),1))
    • good
    • 0
この回答へのお礼

いつもお世話になります。
お礼が遅くなりまして申し訳ございません。

いただいたお答えでも問題解決できたのですが、他の方からTEXT関数とREPT関数の組み合わせを教えていただき、コピーで対応できたので、そちらを使わせさせていただきました。
ですが、いただいたお答えも、ぜひ今後の参考にさせていただきます。
ありがとうございました。

お礼日時:2004/12/27 14:03

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

このQ&Aを見た人はこんなQ&Aも見ています