• ベストアンサー

エクセルの行と列を入れ替える。

エクセルで、数式を残したまま行と列を入れ替えることはできますか? 行と列を入れ替えると、#REFが出てしまうのですが。

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

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

こういうのはどうですか。 例 データ  Sheet1のA1:C3 1 4 3 2 5 4 3 9 7 A3,B3,C3には =SUM(A1:A2)のような合計関数が入っていますが、回答には関係ない。 Sheet2 に行って A1に =OFFSET(Sheet1!$A$1,COLUMN()-1,ROW()-1) と入れてA1の式をA3まで複写。 A1:A3を範囲指定し、+ハンドルを出して、C1:C3まで引っ張る。 結果 Sheet2の A1:C3 1 2 3 4 5 9 3 4 7 値だけ並べ替えている。 Sheet1の変動の結果は即時反映します。

kumaru
質問者

お礼

ありがとうございました。このやり方で一気に解決することができました。 とても助かりました。できないのかも・・・。と思っていたので本当に感謝しています。ひょっとしたら一つ一つ関数を入れなければならないのかも・・・。と思っていたので。 ありがとうございました。

その他の回答 (4)

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.4

結果だけを行列を入れ替えると、#REFが出てします。 原因は、セル参照が相対参照しているためです。 (A1は相対参照、$A$1が絶対参照、ご存知だと思いますが) >たとえば、シート1のA1、A2を足した結果をA3に出るようにA3=sum(A1:A2)、同じようにB、C、Dと関数を入れてあるとします。シート1のA3、B3、C3をシート2に行と列を入れ替えて、A1、A2、A3に貼り付けをしたいとき この場合、シート2のA1は、行列を入れ替えているのでA1から見て 左側のセルを参照したいのに無いので、数式が=SUM(#REF)になります。 コピーは、無理なので以下の式をセルA1に入力 =INDIRECT("'Sheet1'!R1"&"C"&ROW()+0,0) 仕様と違う所(シート名R1、+0など)は、適宜変更して列方向にコピーしてください。R1は行、C&ROW()+0は列です。

kumaru
質問者

お礼

ありがとうございます。 なんとかこの方法でできそうです。 とても助かりました。 今までよくわからずに(ちゃんと本とかで勉強していないので)「A1は相対参照、$A$1が絶対参照」も「かん」でやってました。$をつけると便利・・・ぐらいの感覚で。すごくなっとくです。 ありがとうございました!!

回答No.3

シートが違うと参照の認識ができないので、 NO1の方法だとエラーになりますね。 例のデータで書かせてもらうと、 一度Sheet2にSheet1の式を参照する形なら出来ると思います。 Sheet2のA1にSheet1のA1 Sheet2のA2にSheet1のB1 Sheet2のA3にSheet1のC1 としたいということですよね。 やりたいことがあっているかわかりませんが、 (1)Sheet2.A1に=Sheet1!A1を入力。 (2)オートフィルで列方向にドラッグ  →Sheet2.B1==Sheet1!B1、Sheet2.C1==Sheet1!C1・・・ (3)A2を選択し、行と列の入れ替えをする。   A1を選択すると、コピーする場所と貼り付け場所が同じだとNGになりますから  あとで移動してください。

  • t-yamada_2
  • ベストアンサー率40% (587/1460)
回答No.2

対象(範囲)を選択 → コピー先で右クリック → 形式を選択して貼り付け → 行列を入れ替える にチェックしてOK

回答No.1

入れ替えたい部分を選択し、[コピー] 貼り付けしたい場所を選択し、 [編集]-[形式を選択し貼り付け]、 行列を入れ替えるにチェックをいれて[OK]してください。 コピーしたい部分と貼り付けする場所が同じ時 エラーになる場合があります。 入れ替えてから移動されるといいと思います。 また、貼り付けしたいセルを2つ以上選択すると、 エラーになる場合があります。 貼り付けたい場所では、1つだけセルを選択した方がうまくいくと思います。

kumaru
質問者

補足

さっそくの回答ありがとうございます。  その方法も試してみましたが、自分のやりたいこととはちょっと違ったようです。質問時に言葉足らずでした。  たとえば、シート1のA1、A2を足した結果をA3に出るようにA3=sum(A1:A2)、同じようにB、C、Dと関数を入れてあるとします。シート1のA3、B3、C3をシート2に行と列を入れ替えて、A1、A2、A3に貼り付けをしたいときはどうすればいいのでしょうか?  fukafukafuさんのおっしゃってる方法だと#REFが出てしまいますし、300件からのデーターでまだ変動があるので値だけをコピーしてしまうと変動が反映されません・・・。 変動が反映される行と列を入れ替える良い方法があれば教えてください。よいお知恵があれば教えてください。

関連するQ&A

  • エクセルの数式内でそのセルの行や列は取得できますか?

    エクセルの数式内でそのセルの行や列は取得できますか? マイクロソフトExcelを使用しています。 ご存じの通りエクセルでは数式が使用できますが、たとえば =A1+B1 みたいなのを =A現在の行+B現在の行 のような指定法にすることは可能でしょうか? というのも沢山同じ意味の数式を行や列が変わる度に ずらずらと記述するような場面が多く、こういうことが出来たら 便利だなぁと思ったからです。

  • excelで2行を1行に

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

  • Excel で 行 と 列を入れ替えるには

    Excelで 行 列 を入れ替えるにはどの様にすればいいでしょうか?  10行 10列 の行列を順番も換えず入れ替えたのですが どの様にすればいいのでしょうか?  よろしくお願いします。

  • EXCELの列と行はどこまであるのですか?

    単純な質問ですみません。 EXCELの列や行をスクロールさせると、どこまでも行きますが、 これは終点があるのでしょうか。 あるとすれば何列と何行が最後なのでしょうか。

  • エクセルで行と列を入れ替えたいです

    こんばんは。 エクセルでデーターベースを作っているのですが、行と列を入れ替えたほうが 見えやすいことに途中で気づいてしまいました。簡単に行と列を入れ替える方 法ってあるのでしょうか? よろしくお願いします。

  • エクセルで隠した行、列を再び出すには?

    エクセルで隠した行、列を再び出すには?どうすればいいですか?

  • エクセルの行と列について

    ウィンドウズXPでエクセル2003を使用してます。 あるエクセルファイルを開くと行も列も数字になってしまいます。 (普通、行は下に1・2・3・・・列は右にA・B・C・・・となると思うんですが) この表示を正しい表示にするにはどうすればよいでしょうか。 教えていただけませんでしょうか。 よろしくお願いいたします。

  • エクセル 行も列も数字になってしまいました

    エクセルについてお教え下さい。 いつの間にか行も列も数字になっていました。 今までは列はアルファベットだったのですが。 それに応じて簡単な数式を入れて保存しておいた表などの 数式も変更されてしまいました。 またアルファベットに戻したいのですが、 どなたかお教え下さい。

  • Excel 行の連続データを列に参照したいんです・・・

    Excelで縦のデータを横に参照したい場合どのように数式をコピーすればいいんでしょうか・・・?オートフィルをかけると行は固定されて、列は連続したデータになってしまいます。列を絶対参照にして行を相対参照にしてもできません。 すみません、どなたか教えてください。

  • excelで行や列をまとめる

    excelで行や列をまとめて+をクリックすると展開されるようにできますが どうやってやればよいでしょうか?

専門家に質問してみよう