• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelでグループごと開始位置を揃えるには)

Excelでグループごと開始位置を揃える方法

このQ&Aのポイント
  • Excelでテキストファイルのグループごとの開始位置を揃える方法を紹介します。不要なスペースを削除し、各グループの開始位置を均一にすることで、見やすいデータを作成できます。
  • Excelワークシートに貼り付けたテキストデータのグループごとの開始位置を揃える方法を説明します。不要な空白を取り除き、各グループの開始位置を均等に整えることで、データの見やすさを向上させます。
  • Excelを使用してテキストファイルのグループごとの開始位置を揃える方法をご紹介します。無駄なスペースを削除し、各グループの開始位置を一致させることで、データの整理と可読性向上に役立ちます。

質問者が選んだベストアンサー

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.9

No8の回答の補足です。 A10セルに入力する数式を忘れていました。 お分かりになると思いますが、A10セルは以前の回答と同じ文字列結合をする以下のような数式になります。 =CONCATENATE(H2,I2,J2,K2,L2) もちろん以下の数式でもOKです。 =H2&I2&J2&K2&L2 #このようなご質問では、半角文字があることなどの条件を後出しにすると、回答者に無駄な回答をさせることになりますので、データを例示する場合にはできる限り実際のデータを反映するように留意してください。 また最初から操作の目的を具体的に提示されていれば(あるいは回答の不都合な点を例示されれば)、その目的に沿った最も適切な回答が期待できますので、質問する際のポイントとなります。 また、Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう。

kikitai999
質問者

お礼

100%望むものができました。 MackyNo1さん本当にありがとうございます。 数々の質問の仕方に関するご指摘、恐縮です。 ほとんどExcelに関する質問はしたことがなかったので、ちょっと不備が多すぎました。 ほんとに申し訳ございません。今後、Excel関連については必ず、ご指摘に沿った 質問内容にしようと思います。 imogasiさん、 kagakusukiさん、 Cupper-2さん、も親身に答えてくれて本当にありがとうございました。 ほんとに、煩わせてすみませんでした。 ありがとうございました。

その他の回答 (8)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.8

>実際の文字列群は、半角英数と、全角文字が混在しているのです。 単純に半角全角混在の文章の頭を揃えるだけなら、以下のような設定で簡単に表示できます。 (半角文字が混在して、文字間隔を半角スペース1字にする場合) 先に例示したレイアウトでH2セル、H3セルに以下の式を入力しH1:H3を右方向および下方向にオートフィルします。 H2セル =A2&REPT(" ",(LENB(A3)>LENB(A2))*(LENB(A3)-LENB(A2))+1) H3セル =A3&REPT(" ",(LENB(A2)>LENB(A3))*(LENB(A2)-LENB(A3))+1) 次にA10セルのセルの書式設定でフォントの種類をMSゴシックやMS明朝などのプロポーショナルフォントではない等幅フォントを選択し、以下の式を入力して下方向に1つオートフィルし、A9セルに「1」と入力し、A9:A11セルを選択して下方向にオートフィルすれば完成です。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.7

>MackyNo1の画像の変換後グループ2でいうと、”えええええええ”はA13のセルにはいっており、”う”はA14のセルにはいっており、B13~H13、B14~H14のセルは空白セルでI13には”い”、I14には”いい”が入っている状態にしたいのです。 1つ1つのセルに文字を分離した場合は空白セルで位置を揃えることができますが、上記の条件のように1つのセルに文字の長さが異なるセルがある場合は、文字間隔が1セル分ではないので(長い文字列ほど空白セルが必要なくなる)、基本的に空白セルでご希望のようなレイアウトには調整することができません(文字数に合わせた空白セルを追加することは可能です)。 どのような目的で、そのような編集処理をしたいのかわからないのですが、表示だけなら方眼紙のようにセルを分ける方法で対応するようにする方が良いと思うのですが・・・ もし、方眼紙のようなレイアウトではまずい理由があるなら、そのような編集操作の目的を具体的に例示されれば、代替案が提示できるかもしれません。

kikitai999
質問者

お礼

MackyNo1さんに教えていただいた、一文字ずつのやつ、とてもすばらしいのですが、 実際の文字列群は、半角英数と、全角文字が混在しているのです。そのため、 半角英数に列幅をあわせると、その列にあるいずれかの行に存在する全角文字は半分くらいしか表示されません。逆に全角文字に列幅をあわせると、半角英数文字は間延びしてしまい、スペースもとり、見ずらいんですね。 それが方眼紙のようにして、一文字ずつセルに入れる場合の私的なデメリットです。 用は、長い文字列群をスクロールせずにできるだけ大きな文字でみたいんですね。 そうすると、要らないスペースを排除しようという考えに自然になります。 このことが実現すればOKです。ただ、”/”で区切られた文字列の頭がグループごとに揃わないといけないという条件は満たさなければなりません。 もちろん”/”は、何でもいいんです。どの記号がいいとかそういう問題ではありません。記号はいくらでも置換できますから。記号が入っている区切りの場所がどこかが重要なので。”/”もただExcel上で編集する前段階のテキストファイル上の加工時に付加しているだけのものですので。 エクセルにもとくにこだわりはありません。上記条件が見たされれば、Wordでもエディタでも、有名なソフトや無料ソフトでいいものがあれば取り入れます。 何卒、宜しくお願いいたします。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

#2 です。 添付画像というのがよくわからない。 他の回答での補足をシートに作ってみた A1:K7(右列一部略)-は空白で左詰防止用。 これはシートのデータをコピーしそのまま解答欄に貼り付けたが、見やすいのでは? このままではやはりづれる用だが、データー区切り位置ースペースでシートに再現するとよい。 A B C D E F G H I J K 1 - - - - - - - - - - あ - いいえ - - ええ - ああ - - - うう - ええ - - あ - お - い - 2 - - - - - - - - - - えええええええ - - - - い - え - - お う - - - - いい - えべべ - - えおい - - - - - - - - - - - B、D,E、I列が何もデータが無いのはなぜ? これを見ても特徴がわからない。一般に表などの図示から、他人が内容を割り出すのは至難の業である、ことを覚えておいて。 == やりたいこと、その思考過程を文章で補足してください。そのほうがまだマシではないかと思う。 私の関心は (1)セルの値は変えるのかどうか(2つのセルの文字列を結合し1つのセルの値にするとかがありえるか? (2)1セルの文字列を、2つのセルに分けて、2つ以上のセルに配置する場合があるのか? (3)セルの位置(番地)的に、左列に寄せたり、右列に動かすことはありえるのか (4)(1)-(3)のそれらの場合は、どういう条件のとき、そうするのか === どうもVBAを使わないと実現できないのでは(予想)

kikitai999
質問者

お礼

いろいろ説明が足りないようで混乱させてすいません。 単に目的は少ないスペースに長い文字列をスクロールさせずに見たいんですね。 できるだけ大きな文字で。 ありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

添付画像の下の画面のようにグループごとに文字列の頭を揃え、かつセルに1文字ずつ文字を入力したいということでしょうか? その場合は、以下のような関数処理が簡単かもしれません。 提示のデータのように、A1セル以下に区切り位置でセルに分割したデータ(最大5列)がある場合、H2セル及びH3セルに以下の数式を入力し、右方向にL列(最大列数分)までオートフィルします。 H2セル =A2&REPT(" ",(LEN(A3)>LEN(A2))*(LEN(A3)-LEN(A2))+1) H3セル =A3&REPT(" ",(LEN(A2)>LEN(A3))*(LEN(A2)-LEN(A3))+1) H1からL3セル(1単位のデータブロック)を選択し、下方向にデータ数分だけオートフィルします。 O2セルには以下の式を入力し、下方向に1つオートフィルし、O1:O3セルを同様に下方向にオートフィルします。 =CONCATENATE(H2,I2,J2,K2,L2) 次にA列に(例示のデータではA10セル)以下の式を入力して下方向に1つ、右方向に必要数オートフィルします。 =MID($O2,COLUMN(A1),1) その上のセル(A9セル)に、グループ番号の「1」を入力し、この数字とその下の2つのセル(A9:Y11)を選択して、下方向にオートフィルすれば完成です。

kikitai999
質問者

補足

>添付画像の下の画面のようにグループごとに文字列の頭を揃え、かつセルに1文字ずつ文字を入力したいということでしょうか? はい、ですが”セルに一文字づつ”ではなく、入力は文字列単位で各セルに、ただし、文字列の頭をそろえるために、グループの中で短い文字列の後ろのセルは、同列にある一番長い文字列にあわせて、後ろのほうに空白セルが存在するような状態です。 MackyNo1の画像の変換後グループ2でいうと、”えええええええ”はA13のセルにはいっており、”う”はA14のセルにはいっており、B13~H13、B14~H14のセルは空白セルでI13には”い”、I14には”いい”が入っている状態にしたいのです。 この場合、空白セルの状態はグループごとに変化し、このワークシート上のB~H列がすべて空白セルとはなっていない状態です。 どうか教えていただきたいです お願いします。自分でもMackyNo1さんのご回答をベースにいろいろ試行錯誤しましたが、できませんでしたので、お願いします。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

>画像を用意しました  補足欄に貼られたリンクをクリックした処、「出会いBBS」というサイトのページが現れるだけで、関連があると思える画像は表示されませんでした。  出来れば、 元の文字列の最初のものは、book1の何というシートの何列の何行目に、どの様な文字列が入力されていて、 2番目の文字列は、どの様な文字列で、同じシートの何列の何行目に入力されているのか、 それらのデータをbook2に表示させる際には、 最初の文字列を表すデータの内の1つ目は、何というシートの何列の何行目のセルには、どの様な文字列を表示させ、 同じく、最初の文字列を表すデータの内の2つ目は、何というシートの何列の何行目のセルには、どの様な文字列を表示させ、    ・    ・    ・ 2番目の文字列を表すデータの内の1つ目は、何というシートの何列の何行目のセルには、どの様な文字列を表示させ、 2番目の文字列を表すデータの内の2つ目は、何というシートの何列の何行目のセルには、どの様な文字列を表示させ、    ・    ・    ・ という具合に、文章で説明しては頂けないでしょうか?  それから、このQ&Aサイトは、多数のQ&Aサイトが質問や回答を共有する事で、質問に対する回答が得られやすくなる様にしています。  この協力関係にあるサイトの事をパートナーサイトと言います。  質問者様がどのパートナーサイトを利用して、この御質問を投稿されているのかは判りませんが、OKWaveを始めとする、一部のパートナーサイトでは、質問を行う際に、画像を添付する事が可能なサイトもあります。  他のパートナーサイトの状況は知りませんが、OKWave等では、質問を投稿した後からでも、画像を添付する事が可能となっていますので、質問者様が御登録されているサイトでも、同様の事が可能か否かを確認されてみては如何でしょうか? 【参考URL】  既に投稿した質問・回答に後からファイルを添付したい | OKAnswers | FAQ/お問合せ   http://faq.okwave.jp/EokpControl?&site=guidePC&tid=1117105&event=FE0006  尚、添付された画像が、サイト上に掲載される際には、画像の解像度がかなり低下しますから、画像の全体の大きさに対する、文字の大きさを、かなり大きめにしておかなければ、簡単に文字が潰れて、何と表示されているのか全く判別出来なくなり、内容を推測する事すら不可能となってしまいますので、画像付きの投稿を行う際には、かなり注意が必要です。  その上、添付した画像が使い物にならなくても、画像を削除する事が出来るだけで、一旦削除した後では、再度添付する事は出来ません。  ですから、画像には頼らず、なるべく文章だけの説明でも解る様に、御説明頂く様、御願い致します。

kikitai999
質問者

補足

たびたび申し訳ございません。。 それでは文章でお伝えさせていただきます。 文字列制限もあるようなので、行、列、文字列内容の順で book2(実現したい編集結果)を記述させていただきます。 1,a,1 2,a,あ 2,c,いいえ 2,f,ええ 2,h,ああ 3,a,うう 3,c,ええ 3,f,あ 3,h,お 3,j,い 4,a,2 5,a,えええええええ 5,f,い 5,h,え 5,k,お 5,n,あ 6,a,う 6,f,いい 6,h,えべべ 6,k,えおい 6,n,あ

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 質問者様がやりたい事を本当に理解しているのか自信が無いのですが、もしかしますと、添付画像の様にしたいという事なのでしょうか?  もしそうだとすれば、Sheet2のA1セルに次の数式を入力してから、Sheet2のA1セルをコピーして、Sheet2において文字を表示させる可能性のある全てのセル範囲に、貼り付けると良いと思います。 =IF(COLUMNS($A:A)>LEN(INDEX(Sheet1!$A:$A,ROW())),"",SUBSTITUTE(MID(INDEX(Sheet1!$A:$A,ROW()),COLUMNS($A:A),1),"/",))  後それから、”/”は全角文字で宜しいのでしょうか?  もし、全角文字ではなく半角文字という事でしたら、上記の数式中の)"/"の部分を"/"に置き換えて下さい。  又、全角の)"/"と半角の"/"が混在してる場合には、次の様な数式として下さい。 =IF(COLUMNS($A:A)>LEN(INDEX(Sheet1!$A:$A,ROW())),"",SUBSTITUTE(SUBSTITUTE(MID(INDEX(Sheet1!$A:$A,ROW()),COLUMNS($A:A),1),"/",),"/",))

kikitai999
質問者

お礼

ありがとうございます。

kikitai999
質問者

補足

画像を用意しました http://uploader.sakura.ne.jp/src/up60208.gif book1のようにしか、今のところ編集できません。 手作業ではなく、一気にbook2のような状態に編集する方法をおしえてほしいのです。 お願いいたします。 No1、No2で回答していただいたかたもどうかご覧ください。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>このスペースがないようにしたいのです この意味が良くわからない もっとやさしく説明して。 普通で各列で、1つのセルの左に詰めて表示されるのでは。 セルの値は変えないのだろうし、どうすれば良いのか。 書式の配置の「折り返して全体を表示する」関連か?

kikitai999
質問者

お礼

ごめんなさい わかりにくいですね・・・・ 画像UPします。

kikitai999
質問者

補足

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

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

セルの幅を直すのはダメ? 一番長い文字列に合わせてセルの幅を広げれば、綺麗にそろいますよ。 直したい列を複数選択した状態でどれか1つのセルの幅を調整すれば、選択している列が全てその幅に調整されます。

kikitai999
質問者

お礼

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

kikitai999
質問者

補足

それだと、一つの文字列だけ極端に長い場合、それに合わせる事になるので、異常な横幅の空白部分が生まれることになるので、避けたいんですね。 文字列は何千行とあるので。

関連するQ&A