• 締切済み

データのコピー

お世話になります。 任意の範囲の中(A1~A5)で同じ列にあるデータで、一番下にある列の数値をほかのセルにコピーする 簡単な方法はあるでしょうか? 下の例で言えばA3の"6"をB1にコピーしたり   A   B   C 1  5   ○ 2  6 3  6 4  空欄 5 空欄 また、下の例でしたら、A2の"6"をB1にコピーするといったような方法です。   A   B   C 1  5   ○ 2  6 3  空欄 4  空欄 5 空欄 どうか宜しくお願いいたします。

みんなの回答

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

(1))操作では その列の十分下の方のセルをポイントし ENDキー、CTRL+C コピー先のセルをポイントして CTRL+V (2)VBA これをVBA化して Sub test01() Range("A65536").End(xlUp).Copy Range("B2") End Sub (2)関数 ユーザー関数 Function lstr(a) lstr = Cells(65536, a.Column).End(xlUp) End Function 例えばB2セルに =lstr(A1) ーー 関数 例えばB2に =INDEX($A$1:$A$100,MAX(IF(A1:A100<>"",ROW(A1:A100),""))) と入れて SHIFT,CTRL,ENTERnキーを同時押しする。

onaara
質問者

お礼

ご丁寧にありがとうございます。 参考になりました。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

=LOOKUP(10^10,A:A) ◆データが数値限定の式ですが、途中に空欄があっても大丈夫

onaara
質問者

お礼

ありがとうございます。 問題が解決しました。

  • Shimalis
  • ベストアンサー率64% (11/17)
回答No.2

空欄が途中に入っていない場合に限りますが、B1に以下の関数を入力すると、最下行の値が表示されるようになります。 =INDEX(A:A,COUNTA(A:A)) この関数の意味は、 まずCOUNTA関数で、A列に空白でないセルが何個あるかを数えます。(x個あるとします。) 次にINDEX関数で、A列の上からx行目の値を求めます。 空欄が途中にある場合は…… マクロを使う方法だとできますが、関数では思いつきません。

onaara
質問者

お礼

ありがとうございました。

回答No.1

該当範囲内のセル(のひとつ)が選択されている状態から・・(ご提示の例だとA1かな?) 1. 空白でないセルまで移動して (ctrl+↓) 2. そこをコピーし、      (ctrl+c) 3. 目的のセルにジャンプして  (ctrl+g→セルアドレス入力) 4. ペーストする。       (ctrl+v) 5. コピー元を解除       (ESC) だけでいいんじゃないでしょうか?(5は必要ないかもだけど) 繰り返し同じ事をしたければマクロに記録すればいいし、ショートカットキーを割り当てればさらに便利かもです。

onaara
質問者

お礼

ありがとうございました。