• ベストアンサー

規則に基づく貼り付けの仕方<エクセル>

エクセルで、例えば上図のような範囲をコピーして、別のsheetに 行列を入れ替えて貼りつけるとします。 それを下図のB2から始まる横の列に7個×3で一気に貼りつける方法はあるのでしょうか? 今は、上図のJ2-J8をコピー→下図のB2に行列を入れ替えて貼りつけ →上図のK2-K8をコピー→下図のI2に行列を入れ替えて貼りつけ→・・・・ のように一行ずつコピペしているので時間がかかって仕方ないです。 良い方法をご存知の方、ご教授お願い致します。

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

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

とりあえず次の通り(後述参照)にコピーして貼り付けて埋めれば出来ます。 変更前:「7」×3 B2に =INDEX(Sheet1!$J$2:$L$8,1+MOD(COLUMN(B2)-2,7),INT((COLUMN(B2)-2)/7)+1) 変更後:「21」×数えるのがメンドクサイぐらいの列数 B8に =INDEX([ブック名.xlsx]シート名!$J$2:$AM$22,1+MOD(COLUMN(B8)-2,21),INT((COLUMN(B8)-2)/21)+1) #言わずもがなですが シート名やブック名.xlsxの部分は,ファイルの拡張子を含めてキチンと確認してから数式を作成すること。 それで。 結局お仕事の進行について具体的な説明がありませんでしたが,こういった式を一回埋めて備えておき,あとは元データが記入されると勝手に結果が並ぶのを待つという仕事であるなら,こんなイミフメイの(自分では考えたくもないような)数式をわざわざ使わずに,前述したように単純な参照式を並べて備えておけばそれで良いお話ということです。

mesauver
質問者

お礼

教えて頂いた数式を入力してみたらあっさり行きました。 お陰様で作業がものすごく捗ります。 本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

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

画像がぼやけて、読み取りにくい。 今後はセルの値を質問文に貼り付けて、説明してほしい。 J2:L8をコピーし B2をポイントして 行列を入れ替えて貼りつけ B2:I4にデータが移る。 でできることとはどう違うのですか。 くり返しが多数回で(少しか割るところあり)作業がイヤならプログラムにやらせるほか無い。 現在している操作を、マクロの記録をとり、多少修正してでやるとかVBAでプログラムを組むとかになるでしょう。

mesauver
質問者

補足

ごめんなさい、大きすぎて画像が不鮮明に なってしまいました。そして回答ありがとうございます。 21個を7個ずつ順番にB2-V2という風に同じ横列に並ばせたいのです。 下の方への捕捉でも書きましたが、本当はもっと膨大な量なので、 単純な貼り付けではとても作業が追いつきません。 プログラミング以外で何か方法はございますでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

>一気に貼りつける方法はあるのでしょうか? たとえば B2に =INDEX(Sheet1!$J$2:$L$8,1+MOD(COLUMN(B2)-2,7),INT((COLUMN(B2)-2)/7)+1) と記入,コピーして右に全27個一気に貼り付けば出来ます。 実際には,こんなシチメンドクサイ数合わせの数式をイチイチ考えている間に, 7×3をコピーして行列入れ替えて貼り付け 2段目を1段目の続きの横にドラッグ 3段目を2段目の続きにドラッグ してしまったほうが,あっさり仕事は片付きます。 そうはいかない「具体的な仕事の進行の正確な情報」をキチンと添えてご相談を投稿してみると,トータルで結局どうするのが一番効率的なのか,また皆さんから良いアドバイスが色々寄せられると思いますよ。 #個人的には仕事に先行して貼り付け先シートに適切な =Sheet1!J2 タイプの数式を埋めておき(※参照),7×3のデータを記入すればそれだけでもう答えが出ているように備えておくのが一番簡単だと思います。が,上述したように具体的な仕事の段取りが判りませんので,判断のしようが無いってとこですが。 ※ Sheet1!J2 と=を付けずにセルに記入して右にあと6個ドラッグする 計7個のセルを選択し,Ctrl+Hで置換を出して Sheet を =Sheet に全て置換する

mesauver
質問者

補足

素早いご回答ありがとうございます。 知人にバレるのが嫌なので具体的には 書きませんでしたが、確かにおっしゃる通りですね。 ではもっと具体的にお話します。本当は例と比べ 著しく膨大な量のデータです。 J2-AM22までの範囲をJ2-J22,K2-K22・・・・のように 21個ずつ一気に横に並べたいのです。 貼り付け先は別のエクセルファイルのB8-XG8です。 お手数おかけしますが具体的な数式を教えて頂けないでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで別々のシート同士の参照とコピーのしかたについてお聞きします

    今、シート1のA1、A2、A3にデータが入っているとします(列データ)。これをシート2のA4、B4、C4にそれぞれコピーしたい(行データ)とします。つまり、A1→A4、A2→B4、A3→C4 にコピーしたいわけです。(縦のデータを横にコピーするとでも言いましょうか) 次のようにしてみました。 (1) A4に=シート1!A1と入力する。 (2) A4をコピペでB4、C4にコピーする すると、B4、C4の参照先がA2、A3にならず、B1、C1になってしまいます。 つまり、B4=シート1!B1 などとなってしまうのです。 いまはいちいち手で修正しています。 実際は1月から12月までのデータを20支店にわたって上のようにコピペするのでちょっとたいへんな手作業です。 「形式を選択して貼り付け」>行列を入れ替える、でやってみましたがうまくいきません。 オートフィルみたいにささっとできる方法はないでしょうか? よろしくお願いいたします。

  • エクセル 貼り付け

    初心者的質問で申し訳ないのですが・・ Aシート 日付 7/1  7/2  7/3  7/4  7/5 ... Aさん100  50   70  60   50 ... Bさん80  100   60  70   80 ... Cさん50   70  80   90  100 ... COUNTIFを使い範囲>50    2   2   3   3   2  ... Bシート 日付 生徒数 クラス ノルマ ... 7/1  10    A   2  ... 7/2  10    A   2  ... 7/3  15    A   3  ... ノルマのところにコピー貼り付けでやりたいのですが・・手で修正をかけている状態です。 簡単なやり方ありましたらお願いします。 形式を選択して貼り付けで行列を入れ替えるはしましたが・・数字のみの貼り付けはできるのですが・・ AシートB5 AシートC5 AシートD5 となってほしいのですが・・ 宜しくお願いします。。

  • こんな場合、あなたの行動は?

    あなたは電車に乗る為、とある駅のホームにいます。 そこには既に電車待ちの人が列を作っています。 「2列でお並び下さい」と書いてありますが、1列しか出来ていない列があります。 簡単に表すと、下図のような感じです。 a●●●●●|線 ←こちらに人が並んでいる ○○○○○b|路 ←誰も並んでない こんな場合、あなたはどこに並びますか? 1:行列の1番後ろに並ぶ(上図aの位置) 2:堂々と1番前に並ぶ(上図bの位置)

  • エクセルの貼り付けについて

    シート1には  A B 1あ い 2う  3え お という表があります シート2には  C 1か 2き  という表があります シート1の2行目はしばらく使わないので 非表示にして Cの列をコピーして貼り付けをしたところ 2行目に「き」と入力されてしまいました このきを3行目に表示させるコピー&ペーストの方法ありませんか? エクセル2016使用

  • Excelでお尋ねしたい事があります。

    エクセルのデータを下記のようにするのに 良い方法があれば教えて下さい。    A   B         A   B   C   D  1 AAA 100      1 AAA 100 101 102 2 AAA 101  ⇒   2 BBB 100 101 102 3 AAA 102      3 CCC 100 101 102 4 BBB 100      5 BBB 101 6 BBB 102 7 CCC 100 8 CCC 101 9 CCC 102 A列にある同一のデータを一行にして B列のデータを一行にした列に持っていく作業です。 現在は、A列にある同一データのB列をコピー。 行列を入れ替えて貼り付け。 B列が空いた所を行事削除しています。 このデータが何千とありまして… 延々とコピー、貼り付け、削除。 をしています。 何か良い方法があれば教えて下さい。 よろしくお願いします。

  • 差し込み印刷ができるようなエクセルデータについて

    上図のように、A列に同じ番号が複数ありB列、C列にそれぞれ別の番号が付いています。 上図の状態を、下図のように差し込み印刷ができるようなデータにしたいのですが、そのためどのようなVBAを作ればいいのか困っています。 詳しい方からのアドバイスをいただけますと幸いです。よろしくお願いします。

  • エクセルのコピー

    エクセルで別のエクセルファイルに列コピーをしようとしています。 やり方として、 (コピー元AのI・J列からコピー先BのI・J列にコピーをする) (1)AファイルをActivateにする。 (2)AファイルのシートをSelectする。 (3)Worksheets("シート名").Columns("I:J").SelectでIからJ列を選択 (4)Selection.Copy (5)Bファイルに対して、(1)(2)(3)をする。 (6)ActiveSheet.Paste としています。 すると、(6)で"そのコマンドは複数の選択範囲に対して実行できません。”と いうエラーになります。何がおかしいのかわからないのですが、 正しいやり方を教えていただけませんでしょうか? それともうひとつ、ファイルを閉じるときに"クリップボードに大きな情報があります。"というメッセージがでてしまいます。 これをでなくする方法を教えてください。 お願いします。

  • エクセルでA行をコピーし、3列づつ貼り付ける方法

    エクセルでAの行(たとえばA1~A63まで)の文字列を全てコピーし、一括で3列21行の範囲内で張り付けることは可能でしょうか? 3列21行の範囲内で貼り付けるとは、たとえば下記の範囲内で、I2、J2、K2、I3、J3、K3の順番で張り付けることです。 I2、J2、K2 I3、J3、K3 I4、J4、K4 I5、J5、K5 ・・・ ・・・ I19、J20、K21 いろいろググってみたのですが、思うような答えが見つかりませんでした。 分かる方がおりましたら、何卒ご教示のほど、宜しくお願い致します。

  • EXCEL VBA 別シートで検索後、貼り付け

    excel2010 (ブック名A.xlsx)にシート名SA、シート名SBがあります。 シート名SAのC列に検索対象(C1~C50位)があり シート名SBのB列が検索範囲(流動的ですがB1~B100位の範囲)です。 検索対象は文字列で、これが検索範囲のセルにに含まれていた場合 検索範囲の隣のセルCxxに検索対象文字列をコピー&ペーストしたいです また、検索範囲の行数に値があるまで、順次処理をしていきたいです

  • エクセル 貼り付けについて

    sheet1はセルA1~A10までの表で、一つ一つのセルに名前が入力してあります。 sheet2はセルA1とA2、A3とA4…A19と20がそれぞれ結合した表が作成してあります。 sheet1の表に入力してある名前の一覧をまとめてコピーしてsheet2の表に貼り付けることはできますか? 普通にコピペをしてもできないと思います。何か良い方法があれば教えてください。

専門家に質問してみよう