dポイントプレゼントキャンペーン実施中!

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

A 回答 (5件)

こういうのはどうですか。


例 データ 
Sheet1のA1:C3
143
254
397
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
123
459
347
値だけ並べ替えている。
Sheet1の変動の結果は即時反映します。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/03/01 11:14

結果だけを行列を入れ替えると、#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は列です。
    • good
    • 0
この回答へのお礼

ありがとうございます。
なんとかこの方法でできそうです。
とても助かりました。

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

お礼日時:2007/02/23 16:25

シートが違うと参照の認識ができないので、


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になりますから
 あとで移動してください。
    • good
    • 0

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

    • good
    • 0

入れ替えたい部分を選択し、[コピー]


貼り付けしたい場所を選択し、
[編集]-[形式を選択し貼り付け]、
行列を入れ替えるにチェックをいれて[OK]してください。

コピーしたい部分と貼り付けする場所が同じ時
エラーになる場合があります。
入れ替えてから移動されるといいと思います。

また、貼り付けしたいセルを2つ以上選択すると、
エラーになる場合があります。
貼り付けたい場所では、1つだけセルを選択した方がうまくいくと思います。

この回答への補足

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

補足日時:2007/02/21 03:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!