プロが教えるわが家の防犯対策術!

マイクロソフトエクセルで
在庫 45 90 109 77 という文字列が横向きにあるとします。(sheet1にて)
これらの数字を打ち込むと、別シートにて今度は縦向きに(sheet2にて)
在庫
45
90
109
77

……と自動的に打ち込まれている状態にするにはどのようにしたらよいでしょうか?
毎回イコールで引っ張っていくしかないですか? 連続で一瞬で反映させる方法はないですか?

当方関数初心者ですのでできるだけ簡単にお願いいたします。

A 回答 (5件)

基本的には、イコールで引っ張るのが早いと思いますが、並んでるのであれば、



(1)、一箇所イコールで設定(45)
(2)、(1)で設定したセルをとりあえず横方向にコピー(セルの右下の枠をつかんで横に)
(3)、(2)でコピーしたセルをコピー(45,90、109,77)
(4)、(1)で設定したセルの下に右クリックより『形式を選択して貼り付け』
(5)、『形式を選択して貼り付け』ダイアログの「貼り付け」を「値(V)」にチェックし、
   下にある「行列を入れ替える」にチェック、でOKボタン

上記の方法でとりあえず一個づつ設定する必要はなくなります。
    • good
    • 0
この回答へのお礼

皆様のおかげで解決いたしました。
ありがとうございます。

お礼日時:2012/03/12 20:17

元データがシート1のA1から下向けにあるとすると。



シート2には任意のセルに
=INDEX(Sheet1!$A:$A,COLUMN(A1))
と記入し,セルを右クリックして書式設定の表示形式のユーザー定義で
#
と設定してから,右向けに連続でコピーします。
    • good
    • 0
この回答へのお礼

皆様のおかげで解決いたしました。
ありがとうございます

お礼日時:2012/03/12 20:17

素直なやり方としてはTRANSPOSE関数(転置する)を使うのがいいと思います。


例えば、Sheet1のA1:J1の範囲を転置してSheet2のA1:A10に反映するには、
Sheet2のA1:A10の範囲を選択し、A1だけが白くなっている状態で、そのまま、
「=TRANSPOSE(Sheet1!A1:J1)」
と打ち込んで、「Ctrl」と「Shift」を押しながら「Enter」を押してください。
Sheet2のA1:A10の範囲のセルそれぞれにに「{=TRANSPOSE(Sheet1!A1:J1)}」と入るはずです。

この状態でSheet1のA1からJ1に横に順に数字を打ち込めば、Sheet2のA1からA10に縦に順に数字が反映されます。
    • good
    • 0
この回答へのお礼

皆様のおかげで解決いたしました。
ありがとうございます

お礼日時:2012/03/12 20:17

こんばんは!



すでにINDEX関数の方法は出ていますので・・・

他の一例として、
Sheet2のA1セルに
=OFFSET(Sheet1!$A$1,,ROW(A1)-1)
という数式を入れオートフィルでずぃ~~~!っと下へコピー!
の方法もあります。

※ 空白セルは「0」が表示されてしまいますので、当方使用のExcel2003の場合は
メニュー → ツール → オプション → 「表示」タブで「ゼロ値」のチェックを把持しておきます。

参考になれば良いのですが。m(_ _)m
    • good
    • 0
この回答へのお礼

皆様のおかげで解決いたしました。
ありがとうございます

お礼日時:2012/03/12 20:17

 在庫 45 90 109 77 という文字列が、例えば、Sheet1の1行目にだけ存在していて、他の行のデータを引っ張って来る必要が無い場合には、



=IF(INDEX(Sheet1!$1:$1,COLUMN())="","",INDEX(Sheet1!$1:$1,COLUMN()))

 反映したいデータのが存在する範囲が、1行だけとは限らない場合には、

=IF(INDIRECT("Sheet1!R"&COLUMN()&"C"&ROW(),FALSE)="","",INDIRECT("Sheet1!R"&COLUMN()&"C"&ROW(),FALSE))

どちらの関数も、どのセルに入力するかは問いません。
    • good
    • 0
この回答へのお礼

皆様のおかげで解決いたしました。
ありがとうございます

お礼日時:2012/03/12 20:17

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