• ベストアンサー

エクセルでこんな並べ替えできますか?

Wendy02の回答

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。Wendy02です。 式でしたら、このようになります。 =OFFSET($A$1,INT((ROW(A1)-1)/4),MOD(ROW(A1)-1,4)) マクロでしたら、このようにしたら良いです。 他のシートにも移すことは可能です。なお、上書きも可能ですが、隣の列にあるものは削除しません。 '<標準モジュール推奨> '---------------------------------------------- Sub ColumnPaste()   Dim r1 As Range   Dim r2 As Range   Dim rng As Range   Dim c As Range   Dim i As Long   Dim ar() As Variant   On Error Resume Next   Set r1 = Application.InputBox("コピーする左端上のセルを選んでください。", "コピー", "$A$1", Type:=8)   If r1 Is Nothing Then Exit Sub   Set r2 = Application.InputBox("ペーストするセルを選んでください。", "ペースト", "$G$1", Type:=8)   If r2 Is Nothing Then Exit Sub   On Error GoTo 0   Set rng = r1.CurrentRegion   For Each c In rng    ReDim Preserve ar(i)    ar(i) = c.Value    i = i + 1   Next c   Application.Goto r2   Application.ScreenUpdating = False   r2.Cells(1).Resize(UBound(ar()) + 1).Value = WorksheetFunction.Transpose(ar())   Application.ScreenUpdating = True Set r1 = Nothing: Set r2 = Nothing : Set rng = Nothing End Sub '----------------------------------------------

関連するQ&A

  • エクセルで特定の文字だけ抽出する関数

    A列に、『a-b-c d』といった文字列があります。 a、b、c、dはそれぞれ英数字で、文字数が各行異なり、 aとb、bとcの間には必ず”-”で区切られ、dの前はスペースで区切られています。 またこの文字列は、以下の文字列の場合もあります。 『a-b d』(cの文字列が無い) 『a d』(b、cの文字列が無い) 『d』(a、b、cの文字列が無い) この条件の上で、aの文字列のみをB列、bの文字列のみをC列、cの文字列のみをD列に 表示するには、どういった関数の組み方をすれば良いのでしょうか。 LEFT、MID、RIGHT、FIND、、、そのあたりだと思うのですが、 ”-”(ハイフン)が複数存在する時の、()の中の組み方が分かりません。 分かる方がいましたらお願いします。

  • エクセルについて

    エクセルの表を作ったのですが、次の処理についてわかる方教えて下さいm(_ _)m ※ 「A1」などの入力内容は、数値ではなく文字。 <作成時> A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 A4 B4 C4 D4 とデータ入力したものの、D1だけ削り <希望体裁> A1 B1 C1 D2 A2 B2 C2 D3 A3 B3 C3 D4 A4 B4 C4 としたい場合、作成時のD1の場所へD2を入力、D2の場所へD3を入力、D3の場所へD4を入力、ともう一度入力し直すしか方法がないのか、もしくは何かやり方があるのかわからず困っています。。 データ数が極少の場合は再入力すれば済みますが、多い場合は手間ばかりかかってしまいます・・。 少しいじれば、ズラすだけで済むような方法がありましたら、ご教授下さい!

  • エクセル2007の計算について

    エクセル2007の計算についてですが、A列に100個データがあり、B列とC列にそれぞれ1個データがあるとします。そこで、D列のD1にA1*B1-C1の計算結果を表示させました。次に、D2以下も同様の計算をするために、D1のセルを選択して、矢印無しの十字キーを下に伸ばしてD2にA2*B1-C1、D3にA3*B1-C1・・・、D100にA100*B1-C1の結果を表示させようとすると、100個分の計算結果は表示できるのですが、D2はA2*B2-C2、D3はA3*B3-C3・・・というように、B列とC列も一つずつ下がって計算されてしまいます。この場合、B列とC列には1個しかデータがない(B1に一個、C1に一個)ため、D2以下の計算結果は0になります。B列とC列を下げずに、A列のデータだけ下げて連続計算するにはどうすればよろしいでしょうか。

  • エクセル2003のVBAで困っています。

    エクセル2003のVBAで困っています。 D3~D50の中で○のセルが合った場合にその行のA列~C列までのセル背景を青く塗るようにしたいです。 ちなみに△の場合は黄色で×の場合は赤色でそれ以外の場合は塗色なしにしたいです。 上記の説明が分かにくいかもしれないので、もう少し具体例を言います。 D3~D50の中でD5が○だったらA5~C5の背景を青色 D10が△だったらA10~C10の背景を黄色 D15が×だったらA15~C15の背景を赤色 D20がそれ以外だったらA20~C20の背景を塗色なし を各行(D3~D50)になるようにしたいです。 以上ですが、急ぎですので誰かお願い致します。

  • エクセル並べ替えについて。。。困っています

    いま大量のデータの処理をしているのですが、並べ替えの方法がわからず困っています。 現在例えば B列 A A B A C C B B D のように並んでいるものを B列 A A A B B B C C D のような形に並べ替えたいのです。他の列にもたくさんデータが入っています。上手く説明できず申し訳ないのですが、どなたかわかる方、知恵を貸してください!お願いします!!

  • エクセルのデータ結合について

    エクセルのB列に1~1000までの数字がランダムに500個入っています。 エクセルのC列にも1~1000までの数字がランダムに500個入っています。 同様の列が10行あります。 (B列以降には入っている数字と入っていない数字があります) A列には、1~1000までの数字が順番どおりに全て並んでいます。 次のような感じです。 (並べ替え前の文字列) A  B  C  D・・・  1  3   2  6 2  1   4  5 3  5   5  1 4  6   3 5        6       これを、下の列のように、B列以降の列の数字を並べ変えたいのですが、エクセルはこのような各行の並べ替えはできますでしょうか? 方法がありましたらご教示頂ければ幸いです。 よろしくお願いいたします。 (並べ替え後の文字列) A  B  C  D・・・  1  1     1 2     2 3  3   3 4     4 5  5   5  5 6  6     6

  • エクセル配列数式について

    A列(A3:A42)に氏名 B列(B3:B42)に性別 C列(C3:C42)に第1回テスト成績 D列(D3:D42)に第2回テスト成績 が入力してあります。 性別が"男" かつ 第1回テスト成績が350以上 かつ 第2回テスト成績が350以上 の条件を満たす配列数式を {=COUNT(IF((B3:B42="男")*(C3:C42>=350)*(D3:D42>=350),B3:B42,""))} だと正しい回答がでません IFの真の場合の欄をC3:C42またはD3:D42にすると正しい値がでます なぜC3:C42だとだめなのでしょうか?

  • エクセルで並べ替えをしたい!

     商品管理表を作りました。  A列には、00001~90000の文字列(商品ナンバー)が入力されていて、B列には、商品名、C列には、価格が表示されています。  これが100行ほど続いた後、折り返して、D列から00001~90000の文字列(商品ナンバー)、商品名、価格。また折り返して、G列から00001~90000の文字列(商品ナンバー)、商品名、価格・・・と3行にわたって入力されています。  これをA列、D列、G列に入力されている00001~90000の文字列(商品ナンバー)で並べ替えたいのです。  可能でしょうか?また、他に良い方法がございましたら、どうか教えて下さい!!!

  • エクセル関数について

    エクセルでセルA1に1、B1に2・・・・・Iに、J1に10が入力された表があります。また、A2に1、B2に3、C2に5、D2に7が入力されています。A2からD2を検索してA3に1、C3に1、E3に1、G3に1を入力します。次に、A2からにD2に2,4,6,8、と入力して同様にB3、D3、F3、H3に1が入るようにしたいのです。 このとき、1,3,5,7の値と2,4,6,8、の値が消去されず。またA2からD2に再度異なる数を入力した場合3列の値に1が加算されるようにしたいのですが、教えてください。

  • エクセルのプログラムについて質問です

    エクセルのプログラムについて質問です B列 の B2に「b1」、B3に「b2」、B4に「b3」 とします。 C列 の C2に「c1」、C3に「c2」、C4に「c3」 とします。 D列 の D2に「d1」、D3に「d2」、D4に「d3」 とします。 そして、b1=20 、 b2=17 、b3=21 また、 c1=22 、 c2=19 、c3=15 さらに、d1=20 、 d2=18 、d3=19 それらの条件で 「b列から1つ、c列から1つ、d列からランダムに1つずつを選び、その選び出された3つの文字の平均値を 19<x<21 の範囲で選び出す」 とします。 このとき「何通りの組み合わせがあるのか」、その「組み合わせ数」を出すことと、「具体的にどのような組み合わせがあるのか」、その組み合わせを表示したいです。(すべてを表示できるパターンと、例としてコンピューターがランダムに選んだ組み合わせ1つのパターン という2通りの表示の仕方で教えていただきたいです) すごく、難しいことだと思いますが、お力を化していただけ無いでしょうか? よろしくお願いいたします。