- 締切済み
データのコピー
お世話になります。 任意の範囲の中(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 空欄 どうか宜しくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
(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キーを同時押しする。
- maron--5
- ベストアンサー率36% (321/877)
=LOOKUP(10^10,A:A) ◆データが数値限定の式ですが、途中に空欄があっても大丈夫
お礼
ありがとうございます。 問題が解決しました。
- Shimalis
- ベストアンサー率64% (11/17)
空欄が途中に入っていない場合に限りますが、B1に以下の関数を入力すると、最下行の値が表示されるようになります。 =INDEX(A:A,COUNTA(A:A)) この関数の意味は、 まずCOUNTA関数で、A列に空白でないセルが何個あるかを数えます。(x個あるとします。) 次にINDEX関数で、A列の上からx行目の値を求めます。 空欄が途中にある場合は…… マクロを使う方法だとできますが、関数では思いつきません。
お礼
ありがとうございました。
- tux_the_penguin
- ベストアンサー率42% (69/163)
該当範囲内のセル(のひとつ)が選択されている状態から・・(ご提示の例だとA1かな?) 1. 空白でないセルまで移動して (ctrl+↓) 2. そこをコピーし、 (ctrl+c) 3. 目的のセルにジャンプして (ctrl+g→セルアドレス入力) 4. ペーストする。 (ctrl+v) 5. コピー元を解除 (ESC) だけでいいんじゃないでしょうか?(5は必要ないかもだけど) 繰り返し同じ事をしたければマクロに記録すればいいし、ショートカットキーを割り当てればさらに便利かもです。
お礼
ありがとうございました。
お礼
ご丁寧にありがとうございます。 参考になりました。