HOME
エクセルの学校  エクセルの学校  エクセルの学校

Yahoo Google
初めての方へ
ダウンロード
エクセルマイスター
過去ログ
検索 遊び マック コン
ライブラリ
よくある質問
エクセル質問ボード
全文検索
ExcelPedia
 

[[20060807122023]] 『セルの参照のコピーについて』(はり) >>BOT

[ 初めての方へ | 一覧(最新更新順) |

|
| 全文検索 | 過去ログ | HOME ]

 

『セルの参照のコピーについて』(はり) いつもお世話になっております。

A1:C1に入力されているデータを別シートのD1:D3に参照させたいのですが、 絶対参照してもうまくいかず・・・いちいち手入力するのはちょっとなぁ・・・と考えてます。 なにかよい方法は、ありませんでしょうか?


 どのようにされて上手くいかなかったのでしょうか。
 参照先のセルで =参照したいシート名!A1 とやってもだめですか。はずしてたら失礼。   (ぷーのすけ)    

はい。ご指摘のように=参照したいシート名!A1 とやっておりますが、1行目のデータを たてに参照させるのですが、参照式をひとつひとついれずにコピーできないものかと・・・。 A1→D1 B1→D2 C1→D3 といった具合に参照させるには、全部参照式を手入力するしか方法はないのでしょうか?


 D1=INDEX(参照したいシート名!$A$1:$C$1,,ROW())
 D1=INDIRECT("参照したいシート名!"$ADDRESS(1,ROW()))
 などが考えられますが、3つ程度ならば直接入力(またはリンク貼り付け)の方が早いとおもいます...
 (ROUGE)

 衝突〜☆ ×2><  以下衝突前そのままデス
 OFFSET関数はどうでしょうか〜?
 D1に =OFFSET(Sheet2!A$1,0,ROW(A1)-1) として下にコピー。
(かなれっと)

 こちらの(新参者)さんの質問が適用できそうです。    (ぷーのすけ)
↓
[[20050317173938]]
『他のブックからの参照』(aya) 

さっそくの回答ありがとうございます。 関数2題。まずは関数の意味を解析するところからはじめます。 過去の質問のリンクをたどって拝見したところ、これが近いのかも・・・?と思うのですが、 オートフィルで右にコピーしたり下にコピーしたりするので、なかなか参照式がうまくいきません。 みなさんの教えてくださった方法をもうすこし勉強させてもらいます。
 参照元をSheet1のA1:C1とします。
 別シートのA1に =Sheet1!A1 と入力し右にフィルコピー。
 A1からC1まで選択された状態で =を #= に置換。
 A1からC1をコピーしてD1を選択し、[形式を選択して貼り付け]−[行列を入れ替える]−[OK]
 再度置換で #を文字列無しで置換。

 これでどうでしょうか?手間かかりすぎの気もしますが・・・(^^;)        (ぷーのすけ)


 ありがとうございます。
参照元 sheet1のa1:e1 1列とんで f1:h1 また1列とんで i1:k1・・・
参照先 sheet2のd1:f1とf2:f3(直角に曲がるこの範囲のセル) k1:m1とm2:m3(直角に曲がるこの範囲のセル)  ・・・
という具合にしたいのです。
そして参照元シートは、同じ感覚で2行目3行目のデータも参照して貼り付けたいのです。
現在は、参照元シートをプリントアウトし、それを見ながら参照先シートにすべて手打ちしていて、入力ミスもさることながら入力後のチェックが大変なのです。
なんとかいい方法はないでしょうか?

 配置がよくわからないんですが… こんな配置で合ってます?
 [Sheet1]
  A  B  C  D  E  F  G  H  I  J  K
1 あ い う え お    か き く け こ
2 ア イ ウ エ オ    カ キ ク ケ コ

 [Sheet2]
  A  B  C  D  E  F  G  H  I  J  K  L  M
1          あ い う            か き く
2                え                   け
3                お                   こ
4          ア イ ウ         カ キ ク
5                エ                   ケ
6                オ                   コ
(かなれっと)

はい。だいたいそんな感じです。 参照元データ(sheet1)の件数が60件ほどあります。
 もっとスッキリできそうな気がしますが^^;
Sheet2のD1に =OFFSET(Sheet1!$A$1,ROUNDUP(ROW(A1)/3,0)-1,COLUMN(A1)-ROUNDUP(COLUMN(A1)/7,0)) 
としてE1にコピー。
Sheet2のF1に =OFFSET(INDIRECT("Sheet1!"&ADDRESS(ROUNDUP(ROW(A1)/3,0),ROUNDDOWN(COLUMN(C1)/3,0)*3)),0,MOD(ROW(A1)-1,3))
として、F2,F3にコピー。
G1からJ3にデータがなければ、D1からJ3を選択して、右に下にフィルコピー。
あるなら、D1からF3を選択してコピー、必要範囲にペースト。
参考になれば〜。。。(かなれっと)

ありがとうございます。 教えていただいた方法を少し勉強させていただいてまたお返事いたします。 遅くまでありがとう。
 少し時間ができたので、簡単に数式の意図を説明してみます〜
 OFFSET(基準,行数,列数,高さ,幅) という書式で、高さ幅は省略可能のため今回は省略しています。

 =OFFSET(Sheet1!$A$1,ROUNDUP(ROW(A1)/3,0)-1,COLUMN(A1)-ROUNDUP(COLUMN(A1)/7,0))
 基準は Sheet1!$A$1 で、コピーしても変化しないように絶対参照。
 行数は ROUNDUP(ROW(A1)/3,0)-1 下にコピーすると、3行ごとに0,1,2…と変化。
 列数は COLUMN(A1)-ROUNDUP(COLUMN(A1)/7,0) 右にコピーすると、7列ごとに1〜6,7〜12…と変化。
 あ を基準に、右に1個コピーすれば1つ右の い。7個コピーすれば、6つ右の か。下に3個コピーすれば、3個目で1つ下の ア。

 =OFFSET(INDIRECT("Sheet1!"&ADDRESS(ROUNDUP(ROW(A1)/3,0),ROUNDDOWN(COLUMN(C1)/3,0)*3)),0,MOD(ROW(A1)-1,3))
 基準は INDIRECT("Sheet1!"&ADDRESS(ROUNDUP(ROW(A1)/3,0),ROUNDDOWN(COLUMN(C1)/3,0)*3))
        Sheet1のC1から、下にコピーすると3行ごとにC2、C3と変化。
        右にコピーすると、3列ごとにC1、F1、I1と変化。
 行数は 0 基準の部分で行数も変化させているためです。
 列数は MOD(ROW(A1)-1,3)  下にコピーすると、0,1,2、0,1,2と繰り返し変化します。
(かなれっと) ☆ごちゃごちゃしてわかりにくい式ですね (T^T)      


コメント:

[ 一覧(最新更新順) |

]



キーボードヒント:[Home]または[Fn+Home]キーで一番上へ戻ります


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