• ベストアンサー
  • すぐに回答を!

エクセルにて複数セルの並び替え

こんにちは、エクセルについて教えてください。列はA~Hまで、行は1~200行ほどに値が入っています。 例えばValueが以下のようだとします。 A1 B1 C1 D1 E1 F1 G1 H1 A2 B2 C2 D2 E2 F2 G2 H2 ... これらのValueを、別のSheetに以下のように並び替えたいのですが、 A1 B1 C1 D1 E1 F1 G1 H1 A2 B2 C2 D2 E2 F2 G2 H2 A3 B3 ...と、これがA200~H200の行分まで。なのでPaste後は800行になります。どうにかマクロか何かで簡単に 出来ないかと思い、どなたかご教授いただければと思います、よろしくお願いします!

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数316
  • ありがとう数3

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

  • ベストアンサー
  • 回答No.1
noname#204879

「例えばValueが以下のようだとします」と示されているデータが Sheet1 にあると仮定します。 「別のSheet」の任意のセルに次式を入力します。   =OFFSET(Sheet1!A$1,(ROW(A1)-1)/4,MOD((ROW(A1)-1)*2,8)) その右隣のセルに次式を入力します。   =OFFSET(Sheet1!A$1,(ROW(A1)-1)/4,MOD(ROW(A1)*2-1,8)) 上の2つのセルをズズーッと下方にドラッグ&ペーストしてみてください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

早速のご回答ありがとうございます!マクロじゃなくても出来るんですね、しかもただPasteするだけでいいようにしていただいてありがとうございます♪これでサクッと片付けようと思います。

関連するQ&A

  • エクセル マクロでセルを自動移動

    例1のようになっているエクセル表があります。 データは右方向、下方向へ増えます。 Cの列以降は4つ単位でしかデータは増えません。 それを例2の表のように列A,Bのデータはそのままに Cの列以降の4つのセルを区切りに下の行に移動して、 空白の列まで言ったらA2の行以降を最後の行まで繰り返しするという マクロを書くことは可能でしょうか。 出来ましたらそのマクロを教えてください。 例1 A1 B1 C1 D1 E1 F1 G1 H1 I1 J1 K1 L1 M1 N1 A2 B2 C2 D2 E2 F2 G2 H2 I2 J2 A3 B3 C3 D3 E3 F3 G3 H3 I3 J3 K3 L3 M3 N3 例2 A1 B1 C1 D1 E1 F1 A1 B1 G1 H1 I1 J1 A1 B1 K1 L1 M1 N1 A2 B2 C2 D2 E2 F2 A2 B2 G2 H2 I2 J2 A3 B3 C3 D3 E3 F3 A3 B3 G3 H3 I3 J3 A3 B3 K3 L3 M3 N3

  • エクセルで・・・

    =(A1+B1+C1+D1+E1+F1+G1)/(A2+B2+C2+D2+E2+F2+G2) みたいに長くなってしまうような時、どうすれば短くなりますか?

  • エクセル2007で%の平均値を求めたいのですが、うまくできません。

    エクセル2007で%の平均値を求めたいのですが、うまくできません。 AVERAGEやIFをいろいろ組み合わせてみたのですが、どうしても分からないので教えてください。   A   B    C    D    E    F    G   H 1 目標  6.44%  4.50%  3.77%  5.15%  2.66%  2.79%  式を入れたいセル 2 実績  5.07%  6.00%  4.85%                 A2~G2の平均値 A1~G1は、=(F3/G6)みたいな数式が入っていて、%で表示されています。 B2~G2は、最初は空欄で毎月B、C、D、E、Fと一つずつ%が入っていきます。 上記で、H1のセルに、下記の様な結果を表示できる式を入れたいのですが、何かいい方法はないでしょうか? ・B2~G2が空白の時はB1~G1の平均値 ・B2にだけ数字が入っていてC2~G2が空白の時はB1の数字 ・B2~C2に数字が入っていてD2~G2が空白の時はB1~C1の平均値 ・B2~D2に数字が入っていてE2~G2が空白の時はB1~D1の平均値 ・B2~E2に数字が入っていてF2~G2が空白の時はB1~E1の平均値 ・B2~F2に数字が入っていてG2だけが空白の時はB1~F1の平均値 ・B2~G2全てに数字が入っている時はB1~G1の平均値 どうかよろしくお願いします。

その他の回答 (1)

  • 回答No.2

元のシートがSheet1の場合、 「別のSheet」のA1:B800セルを選択して(A1セルがアクティブ状態)、 「=INDEX(Sheet1!$A$1:$H$200,INT((ROW()+3)/4),MOD(ROW()*2-2,8)+COLUMN())」を 入力して、[Ctrl]+[Enter]。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

早速のご回答ありがとうございます! こちらは同じ数式で対応できるんですね、スバラシイです♪今後の参考にさせていただきます、また機会がありましたらどうぞよろしくお願いします~。

関連するQ&A

  • エクセルと照合について

    エクセルと照合について 工場に勤務していて、シフト表と給与計算をしています。 エクセルの表がうまく貼りつけられず(列がずれるため)、縦書きですいません。 以下はシート1です。 出勤予定表(A1) Aさん(A2) 1/1(B1)←1/1は日付です。 1(B2) 1/2(C1) 空欄(C2)←休日のことです。 1/3(D1) 3(D2) 1/4(E1) 空欄(E2) 1/5(F1) 1(F2) 1/6(G1) 3(G2) 以下BさんからEさんまで5人分あります。 以下は勤務時間コードです。 1 5:00~13:00 2 8:00~15:00 3 13:00~21:00 以下はシート2に作成している、実際の出勤日です。 Aさん(A2) 1/1(B1)←1/1は日付です。 5:00~13:00(B2) 1/2(C1) 空欄(C2)←休日のことです。 1/3(D1) 13:00~21:00(D2) 1/4(E1) 空欄(C2) 1/5(F1) 5:00~13:00(F2) 1/6(G1) 13:00~21:00(G2) 他にBさんからEさんまで、シート3からシート6まで作成しています。 要は二つのシートをマクロか関数かであっているかどうか照合したのですが、できるのでしょうか。 目視はできるだけ避けたいです。 超初心者ですいません。 お願いします。

  • エクセル2007で%の平均値を求めたいのですが、うまくできません。

    エクセル2007で%の平均値を求めたいのですが、うまくできません。 先日下記の様な質問をさせて頂いたのですが、もう少し質問したいことがあったのに間違えて解決済にしてしまいました。 どなたか分かる方がいらっしゃいましたら教えてください。    A    B    C    D    E    F    G     H 1 目標  6.44%  4.50%  3.77%  5.15%  2.66%  2.79%  式を入れたいセル 2 実績  5.07%  6.00%  4.85%                 A2~G2の平均値 A1~G1は、=(F3/G6)みたいな数式が入っていて、%で表示されています。 B2~G2は、最初は空欄で毎月B、C、D、E、Fと一つずつ%が入っていきます。 上記で、H1のセルに、下記の様な結果を表示できる式を入れたいのですが、何かいい方法はないでしょうか? ・B2~G2が空白の時はB1~G1の平均値 ・B2にだけ数字が入っていてC2~G2が空白の時はB1の数字 ・B2~C2に数字が入っていてD2~G2が空白の時はB1~C1の平均値 ・B2~D2に数字が入っていてE2~G2が空白の時はB1~D1の平均値 ・B2~E2に数字が入っていてF2~G2が空白の時はB1~E1の平均値 ・B2~F2に数字が入っていてG2だけが空白の時はB1~F1の平均値 ・B2~G2全てに数字が入っている時はB1~G1の平均値 という質問に対して、 [H1]=AVERAGE(B1:INDEX(B1:G1,COUNT(B2:G2))) という式を教えて頂いたところ、うまくいきました。 半期分はこれでOKだったのですが、1年分だとHに半期の平均のセルが入るため、うまく表示できません。 ・B~Gが前期、Hが前期の平均 ・I~Nが後期、Oが後期の平均 さらに、Pに全期の平均を入れたい場合はどのようにしたらよいのでしょうか? [P1]=AVERAGE(B1:INDEX(B1:N1,COUNT(B2:G2,I2:N2))) にすると、Hのセルも入ってしまうため、後期に数字が入ると平均値の表示が1つずつずれてしまいます。 何回も申し訳ないのですが、どうぞよろしくお願いいたします。

  • これを一つの数式にしたい。

    こんばんは。 セルが A1 809900円 B1 A1÷20 C1 8×20+31 D1 C1÷20 E1 B1÷D1 F1 E1×8 G1 F1×20 H1 31×E1 I1 G1+H1=809900円 を一つの式にしたいのです。教えて下さい。

  • EXCEL2007 情報抽出 関数

    A~E列それぞれの一つのセルに"1"を入力し、F列にある情報を抽出、 G列のセルに表示させたいです。 行が多いので、IF関数などは使用できませんでした・・・ 何を使用すればよろしいでしょうか・・・? 例) A1~A20 B1~B20 C1~C20 D1~D20 E1~E20 それぞれの列の一つだけに1を入力します。 ・A 5に1を入力 → F5の情報をG1に表示 ・B15に1を入力 → F15の情報をG2に表示 ・C 2に1を入力 → F2の情報をG3に表示 ・D18に1を入力 → F18の情報をG4に表示 ・E9 に1を入力 → F9の情報をG5に表示 行数が多く、複数の関数を試してみても、数の制限にひっかかるのか うまくいかず困っています。どうぞよろしくお願いします。

  • Excel複数テーブルのマッチング処理について

    実現したいことは、以下のような形式で3つの表があり、A列をキーとして添付の結果1、結果2のような出力を別シートに行なうことです。 マッチング処理なのですがなかなか考えがまとまりません。 おそらく関数では難しくVBAで処理するのだろうかと思いますが、経験が浅く手詰まり状態です。 恐れ入りますがご指南のほどよろしくお願いします。 要件と致しましては、 1.A列がキー項目となります。 2.表1、2、3とも列数は固定です。 3.表1はキー(A1、A2)に対し行が一意です。(マスター) 4.表2、3はキー(A1、A2)に対し行が複数行存在します。(必ず1行以上は存在します) 5.上記の場合、添付結果1または結果2のように表示したい。 ・A列は値が重複しても同じ値を表示します。 ・A列以外は値が重複した場合空欄を表示します。 ・列の長さは同一キー項目で一番行数が多いものとなります。 5番の要件で苦慮しています。どうかよろしくお願い致します。 ----------------------------- 表1 A列、B列、C列、D列、E列 A1 ,B1 ,C1 ,D1 ,E1 A2 ,B2 ,C2 ,D2 ,E2 表2 A列、F列、G列 A1 ,F1 ,G1 A1 ,F11 ,G11 A2 ,F2 ,G2 A2 ,F22 ,G22 A2 ,F222 ,G222 表3 A列、H列 A1 ,H1 A1 ,H11 A1 ,H111 A2 ,H2 A2 ,H22 A2 ,H222

  • 「1列に500行並んだデータを5列毎に改行」の逆

    いつもお世話になります。 http://okwave.jp/qa/q7073912.html これの逆に近いことができる関数がわかる方いらっしゃいますか? 図にすると、下記のような状態です。 A1 B1 C1 D1 E1 F1 A2 B2 C2 D2 E2 F2 ・・・・・・ A100 B100 C100 D100 E100 F100 のようにデータを入力していくと G1=A1 G2=B1 G3~ G4 G5 G6=F1 G7=A2 : : G10000 というような感じで、自動的にデータがコピーされていくような感じです。 入力済みのデータではなく、 入力していくと、データがコピーされて反映されていくような感じです。 この状態にできるG列の数式がわかる方がいらっしゃいましたら、 お知恵をお貸し頂けましたら幸いです。 よろしくお願い致します。

  • エクセル:未入力の行は合計を非表示にしたいのですが。

    未入力の行は合計を非表示にしたいのですが。教えていただけませんか? - A B C D E F(残高計)*Aは仕入でB~Eは売上個数です。 1 9 1 2 1 1 4(=A1-B1-C1-D1-E1)になっています。 2 8 1 2 1 1 7(=F1+A2-B2-C2-D2-E2)です。 3 - - - - - 7(G2をコピーすると未入力行には7が。。) 4 - - - - - 7(これを表示しない方法はありますか?) 5 - - - - - 7(すみません。教えてください。。。) 分かりにくいかもしれませんが、何卒、よろしくお願いもうしあげます♪♪。

  • エクセルの条件文で抽出したセルに改行を入れたい

    条件文で作成した文字列内に改行を入れる方法を教えてください。 下記のようなエクセル(以後、数百行あります)があり、○がついているところの1行目にある文字をK2セルに入力したいと思います。   A  B  C  D  E  F  G  H  I  J K  1 あ い う  え  お  か  き  く け  こ   2 ○       ○       ○    ○  ○ 3   ○      ○    ○  ○ K2セルには、○印のついている あ え き け こ と改行して出力されるように関数を組むにはどうしたらいいのでしょうか? =IF(A2=○,A1&"","")&IF(B2=○,B1,"")&IF(C2=○,C1,"")&IF(D2=○, D1,"")&IF(E2=○,E1,"")&IF(F2=○,F1,"")&IF(G2=○,G1,"")&IF(H2=○,H1,"")&IF(I2=○,I1,"")&IF(J2=○,J1,"") と入力してみましたがうまくいかず、これではうまくいったとしても 改行なしで あえきけこ と出てしまう気がします・・・。 一晩悩みましたがどうしてもうまくいかないのでどなたか教えてください。 よろしくお願いいたします。

  • 関数の質問です。

    こんなことが関数でできますか? 1) A1~A43までに1から43の数字を入れます。 2) B1セルにスタートボタンを設置する。 3) C1セルにストップボタンを設置する。 4) D1に1、E1に2、F1に3、G1に4、H1に5、I1に6の数字を入れる。 5) D2、E2、F2、G2、H2、I2、のセルにランダムな組合せ数字が出るようにしたい。 ようは、ロト6の予想するときに宝くじ売り場に置いてある、「あたるくん」みたいなやつが、エクセルの関数を使ってできないかと言う質問です。B1でスタートさせてC1でストップしたとき、D2、E2、F2、G2、H2、I2、のセルにランダムな組合せ数字が出るようにしたいです。 ※ エクセルの関数にランダム関数みたいなものがあると思います。これを使えばできそうですが、数式の書き方が分かりません。別の関数の数式でもいいので、結果を出せるような関数式のわかる方、ご教示ください。(ググって探せは、遠慮願います。自分なりに探してみたけど理解できるものに行き着きませんでしたので・・・。)

  • 結合セルに結合していないセルの値を貼り付けたいです。

    結合セルに結合していないセルの値を貼り付けたいです。 シート1の1行目の[A1-B1-C1-D1]を結合しています。以下同じように[E1-F1-G1-H1]…のように4つづつ結合しています。 この行に、シート2のA1→B1→C1と続く結合していないセルのデータを貼り付けたいのですが、やりかたがわかりません。色々やってみたのですが、うまくゆきません。ご教授お願いいたします。