[[20050818122149]] 『1つ飛ばしに反映させる方法』(Reico) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『1つ飛ばしに反映させる方法』(Reico)

表1の、A1〜A10に表2のA1,A3,A5・・・A21のように一つ飛ばしに反映させたいのですが、表1のA1にはどのような関数を入力してA10までオートフィルすればいいのでしょうか?ご回答よろしくお願いします。


 >他のシートのA1,A3,A5・・・A21のように
同一のシート(仮にSheet2)とします。
=INDIRECT("Sheet2!A"&ROW()*2-1)
(sin)


えぇと、うまくいきません。。
やり方が間違っているのでしょうか??

表1のA1に表2のA1、表1のA2に表2のA3・・・と反映するようにしたいのですが、合ってますか?

(Reico)


 1.表1と表2は、同じファイルですか? 別ファイルの場合は、両方を開いておく必要があります。
INDIRECT関数のヘルプもご覧下さい。
 2.表2のシート名が、表2となっている場合は、Sheet2を表2に変えて下さい。
 3.ROW(A1)*2-1=1*2-1=1 ですよね?
 4.表2のセルが空白の場合は、0が返ります。空白のままにしたい場合は、式を次の様にして下さい。
=IF(ISBLANK(INDIRECT("Sheet2!A"&ROW()*2-1)),"",INDIRECT("Sheet2!A"&ROW()*2-1))
(sin) 別々のファイルのような気がする?  4を追記しました。 


ありがとうございます。

実際の表は4の行から始まっていたため

=INDIRECT("[表2.xls]sheet1!F"&ROW(F2)*2+2))
としたらうまくいきました。

sinさんのご指摘の通り別のファイルなので両方開いておく必要がありますね。。
これを参照している方のファイルを開かなくても反映させる方法は無いでしょうか?

(Reico)


 多分マクロだと出来ると思いますが・・・  どなたかHelpです。
※過去ログにも有ったような気がします
(sin)

 手順が面倒ではありますが、(作業前にバックアップをとっておいた方がいいです)
 sinさんの方法をやった後で、
 A列の「=INDIRECT("[表2.xls]sheet1!F"&ROW(F2)*2+2)」
 の「INDIRECT」を置換で消して、「=("[表2.xls]sheet1!F"&ROW(F2)*2+2)」とします。
 次に、A列(の必要なセルまで)をコピーして、そのままの範囲に「値の貼り付け」をする。
 セルの選択範囲はそのままで、[を=[で置き換える。
 というのは(ひとつのやり方として)どうでしょう?
 勘違いだったらすみません。
 (nak)

 思いもつかなかった。今日から使わせていただきまーす。
nakさん、ありがとうごじゃります。
(sin) 混乱の元になりそうなので、一部削除しました。


昨日はいろいろありがとうございました。

nakさんの教えてくれた方法をやってみようと思ったのですが、いまいち分かりません(+_+)

「=INDIRECT("[表2.xls]sheet1!F"&ROW(F2)*2+2)」のINDIRECTを取って

=("[表2.xls]sheet1!F"&ROW(F2)*2+2)」
そのあとA列の範囲をどこに貼り付ければいいのでしょうか?

飲み込み悪くてごめんなさい(;´д`)

(Reico)


 >次に、A列(の必要なセルまで)をコピーして、そのままの範囲に「値の貼り付け」をする。
 ここですね?当方が書いたやり方は作業列を使わず、A列をどんどん変更していきます。
 (そのため、バックアップをお勧めしました)
 ですので、そのままコピー元の数式を上書きするイメージで、A列のセルに「値の貼り付け」をします。
 簡単(?)に書くと、
 A列のセルを範囲選択==>右クリックして「コピー」==>右クリックして「形式を選択して貼り付け」で「値」を選択、で貼り付ける
 ==>置換で[を=[にする
 という感じで、A列のセルを範囲選択するのは最初の一回で、後の作業は範囲選択を変更しないでそのままやります。
 (うまく伝わりますか?)
 (nak)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.