エクセルで行揃えをする方法

このQ&Aのポイント
  • エクセルで行を揃える方法について教えてください。
  • A列にIDが入っており、B列とC列にそれぞれ値が入っている状態です。
  • 先頭の数値に合わせて表を整理したいのですが、どのような方法がありますか?
回答を見る
  • ベストアンサー

エクセルで行頭にある数字で行を揃えたい

エクセルの使い方で質問です。 エクセルにのA列にID(01~10)が10行入っており、B列に01黒、04白、10赤、C列と4行、さらにC列には02大、05小、06中、08中、09小、と5行入っている状態です。 この表にはは空白がなく上に詰まっている状態です。 つまり1行目には 01 01黒 02大 2行目には 02 04白 05小 と入っている状態です。これらの表を先頭の数値に合わせて整理したいのですが、どのような方法がいいでしょうか? つまり1行目には文字列の先頭が「01」のものが、2行目には文字列の先頭が02のものがならび、該当する文字列がない場合は空白にしておきたいです。 よろしくお願いします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

作業列を作って対応します。 D1セルには次の式を入力してE1セルまでドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(B1="","",MATCH(LEFT(B1,2),$A$1:$A$10,0)) F1セルには次の式を入力してG1セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(COUNTIF(D$1:D$10,ROW(A1))=0,"",INDEX(B$1:B$10,MATCH(ROW(A1),D$1:D$10,0))) 最後にF1セルからG10セルを範囲として選択してコピーし、その後にB1セルを選択してから「形式を選択して貼り付け」で「値」にチェックを付けて貼り付けます。 D列からG列は削除します。

samehada7
質問者

お礼

ありがとうございます。この方法でやりたいことができました。説明不足にも関わらず的確な解答ありがとうございました!

その他の回答 (4)

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

以下の式を入力して右方向に1つ下方向に10行分オートフィルコピーしてください。 =INDEX(B:B,MIN(INDEX((LEFT(B$1:B$10,2)<>TEXT(ROW(A1),"00"))*100+ROW(B$1:B$10),)))&""

samehada7
質問者

お礼

ありがとうございます。他の方をベストアンサーに選んでから、MackyNo1様の解答に気づきました。お答えいただいた方法でも実現しました。列数が少なくて済む分、こちらのほうが時間が短縮できました、ありがとうございます!

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.4

>B列に01黒、04白、10赤、C列と4行、さらにC列には02大、05小、06中、08中・・・ こんにちは、マクロで行うのなら Sub Test()   Dim c As Range, n As Long   Dim v(1 To 10, 1 To 2)   For Each c In Range("B1:C10").SpecialCells(2)     n = Left(c.Value, 2)     v(n, c.Column - 1) = c.Value   Next   Range("B1:C10").Value = v End Sub

samehada7
質問者

お礼

マクロは使い慣れていないので、試してみたいと思います。ありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

A1からA10に数字で1,2,3…10まで入れておきます。 B列とC列にアナタの今のデータが記入されています。 Excel2007以降を使っている場合: D1に =IFERROR(VLOOKUP(TEXT($A1,"00")&"*",B:B,1,FALSE),"") と記入し下にコピー,E列にもコピーします。 Excel2003以前を使っている場合: D1は =IF(COUNTIF(B:B,TEXT($A1,"00")&"*"),VLOOKUP(TEXT($A1,"00")&"*",B:B,1,FALSE),"") になります。 ご相談投稿では,ご利用のソフトのバージョンまでキチンと明記することを覚えてください。

samehada7
質問者

お礼

ありがとうございます。現在会社ではKingsoft Spreadsheet2010を使っており、エクセルで試せていないので、自宅にあるエクセル2007で試してみます。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

意味不明ですが、VLOOKUP関数、あるいは並べ替え機能、を使って整理するのはいかがでしょう。

samehada7
質問者

お礼

説明不足と、質問の文章がすこしおかしかったですね。ありがとうございました、他の回答者様のを参考に試してみます。

関連するQ&A

  • excelで2行を1行に

    excelで2行の罫線枠中に上段:空白、下段:文字列とか、上段:文字列、下段:文字列のように様々な罫線枠内を1行に結合したいのですが、 ○○┌────┬────┬─────┬── 1行 │(空白)│文字列 │(空白) │ 2行 │ 文字列 │文字列 │ 数式 │ ○○└────┴────┴─────┴── この形式が数段、数シートに渡ってあります。 ○○┌────┬────┬─────┬── 1行 │(空白)│文字列 │(空白) │ ○○│ 文字列 │文字列 │ 数式 │ ○○└────┴────┴─────┴── 上記のように1行に上下に結合したいのですが、こんなことできるのでしょうか。 何卒、ご教授下さい。

  • エクセルで空白行がある場合の計算

    エクセル2000です。 B列は日にち、C列はB行の日にち間隔、H列はデータ値、I列は1日平均値です。 行いたいのは、H列をC列で割り、I列に1日の平均値を出したいのですが H列に空白があった場合は空白行の日にち間隔を足し、1日の平均値を出したいです。   B        C        H      I 日にち  日にち間隔  データ値 1日平均値       14    42     3       3     15      5       2     空白    空白       2     空白    空白       1     10       2・・・・・空白該当C行も足す(10÷5=2)       1     2       2       3     空白    空白       4     21       3・・・・・空白該当C行も足す(21÷7=3) 文字位置がうまくあっていませんが、 初心者のため空白行の処置(関数)方法がよく分かりません。 アドバイスよろしくお願いします。

  • エクセルで似た数字を同じ行に並びかえる方法

    エクセル初心者です。文章だけで説明できるか自信がないですが、どなたか助けてください。 隣接した列に時間とそれに対応した数値が打ち込まれた100行ほどのデータが2つある。 EX、A列(時間:秒)1行=2.003、2行=4.05、3行=8.002…(行が進む  ほど大きくなる)    B列(数値)1行=10、2行=5、3行=4(ランダム)      C列(時間:秒)1行=1.001、2行=2.2、3行=7.9…(行が進む   ほど大きくなるがA列と一緒とは限らない)    D列(数値)ランダム  このような場合に、時間に対応した数値はそのまま(AとB,CとDは連 動)で、時間を似た数字でそろえる(少数点1桁くらいの精度)場合  どのような操作が最も簡便でしょうか?  EX、  A列1行=空欄、C列1行=1.001  A列2行=2.003、C列2行=2.2  A列3行=8.002、C列3行=7.9  イメージがつきにくいと思いますが、補足で説明させていただきます ので、どなたか、私に付き合って、上記のファイル処理を達成させて ください。 実際には、時間と数値の組み合わせが20パターンほどあり、 似た時間で並べて解析したいのですが、一つずつ合わせていくのでは 膨大な時間がかかってしまいそうです。。。 何卒よろしくお願いします。

  • エクセルマクロでデータの検索と転記方法

    エクセル2000です。 sheetAの 10行~165行に表Aがあります。 途中に、空白行や小計行もかなりあります。 C列のコード(文字列、数値両方あります)をキーにして、SheetBの4行目から91行目までの表B(A列にコードがあります)のB列の数値を、sheetAの10行~170行のD列に転記したいのです。sheetAの表の小計行のC列は空白です。SheetBの表Bのコードは、sheetAの表Aのコードの一部しかありません。ですから、sheetAの表AのコードがSheetBの表Bになかったらそこは何も転記しません。 わかりづらい説明かと思いますが、マクロの記述をお教えいただければ幸いです。

  • エクセルマクロ:空白行を除いてコピー

    マクロで次の作業を処理したいのですが、どのようなコードを書けばよいのでしょうか?教えてください。よろしくお願いします。 ○sheet1 ☆左側 列B~Hをワンセットとしたものが、計51行ある。先頭はタイトル行で9行目である。 D列には固定の文字列が与えられており、E列はブランクで、D・Eともに非表示にしておきたい。 B10~B59には、固定で1~50の数字が順番に与えられている。 C10~C59、G10~G59、H10~H59には数値が、F10~F59には文字列が入力される。 空白の場合もあり、どの行に入力されるかは不明。 ☆右側 列J~Pをワンセットとしたものが、計51行ある。先頭はタイトル行で9行目である。 J10~J59には、固定で51~100の数字が順番に与えられている。 K10~K59、M10~M59、O10~O59、P10~P59には数値が、L10~L59、N10~N59には文字列が入力される。 空白の場合もあり、どの行に入力されるかは不明。 ○sheet2 sheet1のボタンをクリックし、sheet2を表示させ、 sheet1の値を次のようにsheet2に貼付けたい。 sheet2のB8~H107の範囲内で上から、sheet1の左側B10~H59と右側J10~P59の空白を含む行を除いた セット(列B~H、列J~P)のみをコピーし、左側と右側を連続して、値のみ貼付けたい。 ※C列とK列の空白を判定すれば良い ※並べ替えなどのために別シートを置きたくない ※非表示列の扱い方

  • EXCELで該当数字の羅列から、該当数字をチェックする方法。

    エクセルの関数について質問させて頂きまます。 例えば A列   B列   C列 1行   111 2行   222 3行   333 4行   444 5行   555 6行   666 7行   777 8行   888 9行   999 10行   000 上記のような表があるとして、Dの10行目などにチェック欄を作成して、 そこに、数字を入力する事により、B列の数字の一覧から、 該当したものを、例えばC列に”該当あり”のように表示をさせたいと思っております。 例えば、そのチェック欄(Dの10行目)に”333”と入力すると A列   B列   C列 1行   111 2行   222 3行   333  該当あり 4行   444 5行   555 6行   666 7行   777 8行   888 9行   999 10行   000 このような感じです。 もしくは、該当する行の色を赤や青など他の色に変更する方法でも構いません。 説明が下手で分かり辛いかもしれませんが、どなたか、 このような場合の関数などをご存知の方おりましたら、 ご教授頂ければ幸いです。 どうぞ、宜しくお願い致します。

  • エクセルの文字入力について

    ・HPのある1行をコピーしてエクセルのA列の1行目に貼り付けると、先頭が2字分くらいスペースをとった状態ではりついてしまいます。 先頭へきちんとはりつけるにはどうすればいいでしょう? 尚、このときに文字薄いブルー色になります。元の色(HP上で)は黒だったのですが。どうして? 次にA列2行目から新しく文字入力をすると、1行目と同じ状態になってしまいます。 貼り付けた文字もあららしく入力した文字も揃えるにはどうすればよいのでしょう。初心者でよろしくお願いします。 エクセルは2003だと思います。xp使用です。

  • エクセルで数字が入力されている行の数を出したい

    エクセル2000を使用しています。 数百行くらいのデータがあります。 C列は数字の1、2、9、が入力、又は空白となっています。 最下行3行にそれぞれ1、2、9が入っている行の数を出したいの ですが、どのようにすれば良いのでしょうか? 1、2、9の和を求めているのでは無く、入力されている行数を 出したいのです。

  • エクセルのマクロでこういう場合は?

    エクセル97です。 Sheet1の E3:J29 に表があります。 E列、F列は文字列、G列は数値、H~J列には式が入っています。 この表の G列の値が空白や0でない行だけをコピーして、Sheet2 のB2 以下に切れ目なく表の「値」を貼り付けるにはどうのようなマクロを書けばいいのでしょうか?(G列が空白や0の行はSheet2の表では一切無視され、空白行ができないようにしたいのです。) よろしくお願いします。

  •  エクセル関数式により、列ごと最後尾と最後尾からの2行目の値を抜き出す

     エクセル関数式により、列ごと最後尾と最後尾からの2行目の値を抜き出す。  初めまして、よろしくお願いします。      A  B  C  D  E 1    赤  青  黄  緑  黒 2  3    4    1  3  2  0  9 5    9  1  3  4  3 ・    ・  ・  ・  ・  ・ ・    ・  ・  ・  ・  ・   112  4  6  1  9  6 113  7  7  5  8  1 114  6  9  1  3  7    115  7     2  5  0 116  8     0     0  という表があります。 各列の空白、もしくは0の入力されている後の値(A列では8、B列では9、C列では2、D列では5、E列では7)と最後尾の数字から2行目の値を(A列では6、B列では6、C列では5、D列では8、E列では6)を抜き出すことのできる関数式の方法がありましたら、教えていただきたく。よろしくお願いします。

専門家に質問してみよう