|あ|い|う|え|
|か|き|く| |
|さ|し| | |
|た|ち|つ|て|

上記のように4行4列のセルが並んでいるとして、
これを
|あ|い|う|え|
| |か|き|く|
| | |さ|し|
|た|ち|つ|て|
のように右詰したいと思ってます。
このデータが200件ほどあり、
できれば自動でできればと思ってますが、
エクセルにはこういった機能はありますでしょうか?

あるいはテキストで正規表現を使ったやり方で、
csv形式で上記のような形にする方法でもかまいません。

お知恵をお貸しください。
よろしくお願いいたします。

A 回答 (2件)

いちばん右から考えてみた


I1セル
=IF(A1="","",INDEX($A1:$D1,COUNTA($A1:$D1)))

次に右から2番目を考えるときは、右のデータの個数をひいてみた
H1セル
=IF(COUNTA(I1:$I1)>=COUNTA($A1:$D1),"",INDEX($A1:$D1,COUNTA($A1:$D1)-COUNTA(I1:$I1)))
左へオートフィル

F1:I1セル範囲を下へオートフィル
「エクセルでセルを一括で右詰にする方法はあ」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございます!
やってみたところうまく行きました!

もうちょっと関数勉強してみます。
ありがとうございました。

お礼日時:2011/04/18 16:42

添付図参照



F1: =IF(COLUMN(A1)<=COUNTBLANK($A1:$D1),"",INDEX($A1:$D1,,COLUMN(A1)-COUNTBLANK($A1:$D1)))
「エクセルでセルを一括で右詰にする方法はあ」の回答画像1
    • good
    • 0
この回答へのお礼

関数を使うのですね!
なるほどー。
勉強になりました。
ありがとうございます。

お礼日時:2011/04/18 16:42

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル 文字を右詰めで1つのセルに1文字ずつ入力した形に変更するには

いつもお世話になります。
昨日、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ベストアンサー

こんにちは。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」を任意に変更して下さい。

Qエクセル 値の入ったセルを左に寄せる

エクセルの関数で質問です。
値の入ったセルを左に寄せて表示したいのですが、
どうかご教授ください。

   1     2    3    4   5
A リンゴ      キウイ    ライチ

B リンゴ  キウイ ライチ

Aには別表からVLOOKUPで値を返してきています。
関数でBの様に左に寄せる方法はありますでしょうか?

Aベストアンサー

一案です。
A2セルに=IF(COUNTA($A$1:$Z$1)<COLUMN(A1),"",INDEX($A$1:$Z$1,SMALL(IF($A$1:$Z$1<>"",COLUMN($A$1:$Z$1)),COLUMN(A1))))
と入力して、CTRL+SHIT+ENTERで入力してください。
数式の前後に{}がついてセルに入力されます。
これを横方向へコピーしてください。

Qエクセルでの『セルの書式設定』について、右揃えができない!

こんにちわ。
エクセルで、セルの書式設定にて実験データの表など
を右揃えにすることが多いのですが、書式設定内で
表示形式→数値→小数点以下の桁数、で桁数を変える
と何故か右揃えがほかのセルの右揃えと合わなくなり
ます。(少しずれているのです。)

これは桁数を特にいじらなければ起きないのですが、
有効桁数を揃えるなどで桁数をいじると起きます。

桁数を変更しても全てのセルが右揃えにする方法は
ないのでしょうか?

Aベストアンサー

「少しずれている」セル(範囲)を選択した後、[書式]→[セル]→[表示形式]の[分類]窓内で“ユーザー定義”を選択すると、右側の[種類]の直下の横長ボックスないの表示が、
0.0000_
のように右端に「_」が見えるはず。それを削除すればOKかと。

QExcelで数値を右詰めでセルに一つずつ分割したい

Excel2007です。
最大10桁の数値をセル毎に分割したい。
その際、1の位を一番右にして、右詰めで表示したい。
関数でする方法は、ありますか?

左詰めなら =MID($A1,COLUMN(A1),1)でできることは
調べてあります

Aベストアンサー

■右詰めが入力位置のことなら
10桁未満の時に前方空白表示なら(123456789→_,1,2,3,4,5,6,7,8,9)
=TRIM(MID(TEXT($A1,"??????????"),COLUMN(A1),1))

10桁未満の時に前方0表示なら(123456789→0,1,2,3,4,5,6,7,8,9)
=MID(TEXT($A1,"0000000000"),COLUMN(A1),1)

Qエクセルの数値を右寄せボタンを押して右寄せにして、そこよりも少し数値を

エクセルの数値を右寄せボタンを押して右寄せにして、そこよりも少し数値を左にずらして余白をとりたいのですが、そのようなことができますでしょうか。よろしくお願いいたします。

Aベストアンサー

書式のユーザー設定で
#,##0" "("と"の間にスペースを入れる)
で出来ると思います。

QExcel セルの右にスペースが空いてしまいます

Excel2000を使用しています。

表の中の一部のセルだけ、右側に半角スペースくらいの間があいてしまいます。(もちろん半角スペースは打ち込まれていません)
表示は全て右詰にしたいので、桁がそろっていないように見えてしまい困っています…
左詰にすると左側にスペースは空かないのですが、右詰にしたときだけ右側にスペースが空いてしまいます。
セルの配置の「前後にスペースを空ける」はチェックされていません。

もし不足がありましたら補足いたしますので、よろしくお願いいたします。

Aベストアンサー

セルの書式設定の表示タブで「数値」を選択していた場合、右側に半角程度の「空き」が出来ます。
表示を「標準」にしておけば、「空き」は出来ません。

Qエクセル 表を大きく、紙いっぱいに印刷したい

エクセルで表を作りました。
印刷プレビューで確認したところ
用紙に対して表が小さく見栄えがしません。

一つ一ついじればできると思いますが、
簡単に、
用紙いっぱいにフォントも大きくし、表も大きくし、
印刷するやり方はありますか。
教えてください。

Aベストアンサー

CtrlキーとPのキーを同時に押すと「印刷」ダイアログが呼び出せます。その状態でAltキーとWのキーを同時に押すと「印刷プレビュー」が表示されますので、印刷のイメージがつかめます(必ずしもプレビュー通りには印刷されませんが)
印刷プレビュー画面の上にある、設定のボタンを押してあげれば、余白を少なくしたり、拡大縮小印刷をパーセンテージを指定しておこなえたりします。いずれにせよ、プレビューで確認しながら拡大率を決めていけばいいと思います。なお、「拡大縮小印刷」のところに「次のページ数に合わせて印刷をする」というチェックをいれて横1×縦1にしてあげれば自動で拡大縮小印刷ができる場合がありますが、やってみればわかりますが、特に縮小印刷の場合小さくなりすぎたりする場合もあります。

Qエクセル TEXT関数を使うと左揃えになってしまう

エクセル2003です。

Text関数を使うと左揃えになってしまうのですが、
標準と同じ右揃えになる方法は有りますでしょうか。

具体的には
A列が”EUR”の時、B列の数字 “#,##0.00”
A列が”JPY”の時、B列の数字”#,##0”
という式をIF関数とTEXT関数を使用して作ったのですが
全て左揃えになってしまうので困っています。
条件つき書式でも右揃えというのはありませんし、、、困っています。

何か解決策があればと思い質問しました。
宜しくお願いします。

Aベストアンサー

おそらくは次のような式をB列で使っているのでしょう。
=IF(A1="EUR",TEXT(式,"#,##0.00"),IF(A1="JPY",TEXT(式,"#,##0"),""))
TEXT関数を使った場合には、その答えはすべて文字列として扱われますので、セルの左側に表示されます。これを右側に表示したい場合には文字列ではなく数値として認識させることが必要です。このためには例えば1を掛けるなどの方法をとります。
=IF(A1="EUR",TEXT(式,"#,##0.00")*1,IF(A1="JPY",TEXT(式,"#,##0")*1,""))

Qエクセルにて、右詰めになってしまう

こんばんわ
会社のパソコンで、どうしても納得いかないので、
教えてください。
エクセルの表を入力をしていたら、
一定のところまでは、普通に入力ができたのに、
スペースを開けて(5行以上)数字を入力をすると
全角で入力して確定を押すと、半角になり、なぜか、
右詰めになってしまいます。

どこか、チェックする場所とか、ありますか???
ちなみにこれを解除するには、コンマや点を半角で
入れれば、なおるんですけど・・・
何か、方法は、ありますか?

Aベストアンサー

>一定のところまでは、普通に入力ができたのに
「普通」って何のことでしょうか。
EXCELでは、特に表示位置を指定しない限り、自動的に文字は左詰め、数字は右詰めになるようになっています。また、数字は全額で入力しても、半角に統一するようになっています。
したがって、動作は正当だと思います。

>何か、方法は、ありますか?
そもそも、どうしたいのかがはっきりしませんが、数字も文字として左詰め、全角で表示したいのなら、入力するセルの書式設定で「表示形式」を文字列にします。表示位置、表示方法などは「こうしたい」ということがあれば自分であらかじめ設定するのが原則です。

Q数字がセルの左側に寄っていてセルの書式設定がききません。

別のExcelから一括コピーした数字がセルの左側に寄っていてセルの書式設定がききません。セルをダブルクリックすると何かが解除され、セルの書式設定が有効になります。
コピー時もしくは一括で解除できる方法はあるのでしょうか。どなたか教えてください。
例12345678左より
セルをダブルクリック表示のユーザ設定が有効になり
1-23456-78と表示

Aベストアンサー

>英数字混じりはだめみたいです。
「表示形式」は数値の表示の仕方を変えるものです。
文字列は入力したそのままで表示されます。
1文字でも文字が入っていれば、文字列と認識されます。
はじめから
a-23456-78
のように入力するか
別のセルに
=LEFT(A1,1)&"-"&MID(A1,2,5)&"-"&RIGHT(A1,2)
と式を入れて変換します。
結果をコピーして、「形式を選択して貼り付け」で「値」を貼り付けます。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング